本文实例为大家解析了vue中track-by的属性,供大家参考,具体内容如下
无track-by情况:数据修改时,无论值是否被修改,dom都被重新渲染(控制台可以看到)
加入track-by属性:数据修改时,不变数据所在的dom不被重新渲染,已改变的数据所在dom才被重新渲染
track-by的两种使用方法:
1. 使用数据中某唯一字段,例如_uid
// 初始数据
items: [
{ _uid: '111111',message: '111' },{ _uid: '222222',message: '222' },{ _uid: '333333',message: '333' },{ _uid: '444444',message: '444' },{ _uid: '555555',message: '555' }
]
// 修改成
modify: function () {
this.items = [
{ _uid: '111111',{ _uid: '666666',message: '3333' },{ _uid: '888888',message: '4444' },{ _uid: '999999',message: '5555' }
]
}
渲染效果如下图右(左边无track-by,右边有track-by),_uid和message都不变的情况下,才不被重新渲染,只有第一组符合条件。
2. 使用$index,其它条件同上
渲染效果如下图右,message的值第一、二条都没改变,所以一、二都没有重新渲染。
模板中同时使用message和_uid时,只有两者都不变的情况下才不重新渲染,如下:
本文已被整理到了《》,欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。