vue多个元素绑定自定义指令,若删除其中一个元素,则其他元素的指令顺序会出现错误

template
https://img2.mukewang.com/5c91ad3400019c8706930027.jpg

data
https://img3.mukewang.com/5c91ad360001829806070075.jpg

directives

https://img.mukewang.com/5c91ad38000186ca05950327.jpg

  • 单击的时候会打印该元素的text

  • 双击的时候会删除该元素

https://img2.mukewang.com/5c91ad3a0001d0b905500634.jpg

https://img.mukewang.com/5c91ad3a00016f3504880600.jpg

https://img2.mukewang.com/5c91ad3b000158cc04610654.jpg




达令说
浏览 1640回答 4
4回答

慕妹3146593

如果你只是想实现单击的时候打印该元素的text,双击的时候会删除该元素,那么使用vue的事件绑定不是更简单?<p v-for="(item,index) in aa" :key="index" @click="log(item.text)" @dblclick="spl(index)">{{item.text}}</p>methodslog(i){console.log(i)},spl(i){this.aa.splice(i,1)}

呼唤远方

文档有说明除了 el 之外,其它参数都应该是只读的,切勿进行修改建议您给元素自定义属性 通过自定义属性取值<a href="javascript:;" v-for='item in aa' v-click="{i:item.text}" :data="item.text">{{item.text}}</a>&nbsp;function a() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(this.getAttribute('data'))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }

临摹微笑

自己最后的解决方案是,在其父元素绑定自定义指令。用event.target获取点击得元素。这个时候删除数组元素还是修改都不会出现问题了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript