问 vue.js中如何为v-for渲染的多个li绑定事件? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

问 vue.js中如何为v-for渲染的多个li绑定事件?

screenshot

<div class="main-number">
            <ul>
                <li class="main-number-options" v-for="item in items" v-on:click="choose">
                    {{item.number}}
                </li>
            </ul>
</div>

js代码

var vm = new Vue({
        el:".main-number",
        data:{
            items:[
            {number:"01"},
            {number:"02"},
            {number:"03"},
            {number:"04"},
            {number:"05"},
            {number:"06"},
            {number:"07"},
            {number:"08"},
            {number:"09"},
            {number:"10"},
            {number:"11"},
            ]
        },
        methods:{
            choose: function () {
             
            }
        }
    })

现在我想给每个li绑定一个事件,让他们在点击的时候变成右边选中态红底白字的样式
请问vue有类似jquery事件代理委托的方法吗?有什么好的办法实现这种效果?

展开
收起
杨冬芳 2016-06-20 15:39:12 8554 0
1 条回答
写回答
取消 提交回答
  • IT从业

    可以尝试这样:
    改变items的结构为

    {number:"01",isSelected:false}
    
    
    li的class绑定一下样式 其中active class为红底白字的样式
    
    class="main-number-options {{item.isSelected?'active':''}}"

    li的点击事件传入循环变量

    v-on:click="choose($index)"

    choose方法只要改变当前的isSelected属性的值即可

      choose: function (index) {
             this.items[index].isSelected=true;
      }
    2019-07-17 19:44:12
    赞同 展开评论 打赏
问答分类:
问答标签:
相关产品:
问答排行榜
最热
最新
相关课程
更多
相关电子书
更多
23-Vue.js在前端...1506518547.pdf
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多