直入正题,不废话!

使用Vue渲染列表是很简单方便的,但如果需要在渲染item的时候去监听事件就无法实现了,楼主我翻遍了Vue的api也没找到合适的方法去解决,其中也提到使用watch和vue.nextClick 监听,但这些都不能实现,苦恼啊,不过机智的我还是想到了曲线救过的方法,利用过滤器来实现,代码如下

<li v-for="item in list"> {{item.content | setEvent  item.id , item.name}}</li>
new Vue({
       el:'',
       data:{
           list:[]
      },
       fliters:{
            setEvent:function(content , id , name) {
                 // TODO 处理你的事件。。。。
                return content ;          
            }
       }
})
过滤器函数始终以表达式的值作为第一个参数(item.content)。带引号的参数视为字符串,而不带引号的参数按表达式计算。这里将表达式 item.id 将传给过滤器作为第二个参数,表达式 item.name 的值在计算出来之后作为第三个参数。注意一定要return 当前li需要显示的内容,否则li无数据展示,这样就可以实现监听列表item的的渲染事件,厉害不!哈哈哈!

Logo

前往低代码交流专区

更多推荐