vue利用v-for循环时怎么只处理点击的那个元素

 我来答
丨遥远的她灬
2018-03-30 · TA获得超过2万个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:4.3万
展开全部

111,,,,

<div class="all">全部评论</div>

<textarea :placeholder="'已有'+data.pinglun+'条评论,快来说说你的'" @keyup.13="submit123($event)"  class="replaycontent"></textarea>
<div class="fbjbox2">
<pull up="true" down="true" @up="next" @down="shuaxin" ref="pull">
<div v-for="item in db" >
<div class="zce">
<img :src="item.head_url"  class="man"/>
<div class="cont">
<h5>{{item.vname}}</h5>
<h4>{{item.content}}</h4>
<div class="mui-clearfix comment_end">
<span class="mui-pull-left">{{item.rtime|timeago}}</span>  //发布评论的时间这里的timeago是一种时间filter过滤器,把时间换成距离现在多久的时间。
<span class="mui-pull-right" style="padding-left:20px;width:70px;display:inline-block"><img src="img/3.png"  width="18px" @click="zanComment(item,$event)"/>{{item.zancount}}</span>
</div>
</div>
</div>
</div>
</pull>

</div>

</div>

//开始是浅色的图标。点击赞的时候,前面的图标换成深色的31.png。然后点赞的数量加1.

methods:{

zanComment(db,e){

var img=$(e.srcElement).attr("src");//指的就是当前的那个元素的src属性

if(img=="img/3.png"){   //如果还是没有点击的效果。点击以后先评论数加1再改变图片
db.zancount++; //db.xxxx就是这个点击的

$(e.srcElement).attr("src",'img/31.png');    }

}

}

}

222、、、

<ul class="mui-table-view" v-for="item in list">
<li class="mui-table-view-cell" @tap="link({id:item.goods_id})">  //跳转到指定页面根据这个图片的id
<a class="mui-navigate-right">
<img class="mui-pull-left img" :src="imgroot+item.goods_image"/>
<div class="mui-media-body">       

<h4 >{{item.goods_name}}</h4>
<p class="red1">¥{{item.goods_price}}</p>
</div>

</a>
</li>
</ul>

methods:{

link(db){

this.$router.push({name:'商品详情',params:{id:db.id,uid:localstorage.getItem('uid')}})//把内容传给商品详情的页面

}

}

下面是商品详情页面的js

mounted() {
this.$api("Mp/goodsDetail", {goods_id: this.$route.params.id }).then(obj => {});  //

在vue的世界里,没有动态添加dom这种概念,一切都是数据驱动<h2>{{obj.prop}}</h2> 
<script src="../Scripts/vue.js"></script>
<script>
$(function () {
alert(1);
}); 
var vue = new Vue({ 
el: 'body',
data: {
//初始obj是空的,因此视图默认是什么都没有
obj:{}
},
ready: function () {
//这里是vue初始化完成后执行的函数
this.obj.name = "对象名字";//这时会显示name
},
methods: {
//这里是自定义的方法
setProp: function () {
this.obj.prop = "测试";//这时会显示测试
}
}
});

wf...2@163.com
2017-03-24 · TA获得超过109个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:271万
展开全部
在vue的世界里,没有动态添加dom这种概念,一切都是数据驱动
<h1>{{obj.name}}</h1>
<h2>{{obj.prop}}</h2>
<script src="../Scripts/vue.js"></script>
<script>
$(function () {
alert(1);
});
var vue = new Vue({
el: 'body',
data: {
//初始obj是空的,因此视图默认是什么都没有
obj:{}
},
ready: function () {
//这里是vue初始化完成后执行的函数
this.obj.name = "对象名字";//这时会显示name
},
methods: {
//这里是自定义的方法
setProp: function () {
this.obj.prop = "测试";//这时会显示测试
}
}
});
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式