简单理解vue中track

网友投稿 255 2023-07-01


简单理解vue中track

本文实例为大家解析了vue中track-by的属性,供大家参考,具体内容如下

api:http://cn.vuejs.org/guide/list.html#track-by

示例地址:https://jsfiddle.net/stardew/f1eju0ku/5/

无track-by情况:数据修改时,无论值是否被修改,dom都被重新渲染(控制台可以看到)

加入track-by属性:数据修改时,不变数据所在的dom不被重新渲染,已改变的数据所在dom才被重新渲染

track-by的两种使用方法:

1. 使用数据中某唯一字段,例如_uid

{{item.message}}

// 初始数据

items: [

{ _uid: '111111', message: '111' },

{ _uid: '222222', message: '222' },

{ _uid: '333333', messagehttp://: '333' },

{ _uid: '444444', message: '444' },

{ _uid: '555555', message: '555' }

]

// 修改成

modify: function () {

this.items = [

{ _uid: '111111', message: '111' },

{ _uid: '666666', message: '222' },

{ _uid: '333333', message: '3333'http:// },

{ _uid: '888888', message: '4444' },

{ _uid: '999999', message: '5555' }

]

}

渲染效果如下图右(左边无track-by,右边有track-by),_uid和message都不变的情况下,才不被重新渲染,只有第一组符合条件。

2. 使用$index,其它条件同上

{{item.message}}

渲染效果如下图右,message的值第一、二条都没改变,所以一、二都没有重新渲染。

模板中同时使用message和_uid时,只有两者都不变的情况下才不重新渲染,如下:

{{item.message}} {{item._uid}}

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:BootStrap实现带有增删改查功能的表格(DEMO详解)
下一篇:BootStrap tab选项卡使用小结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~