时间:2021-08-08 08:24:46 | 栏目:vue | 点击:次
直入正题,不废话!
使用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的的渲染事件,厉害不!哈哈哈!