当前位置:  开发笔记 > 前端 > 正文

将跟踪属性与v-for一起使用有什么意义?

如何解决《将跟踪属性与v-for一起使用有什么意义?》经验,为你挑选了1个好方法。

我是vuejs的新手。在我看来,track-by属性有点难以理解。下面的示例显示track-by属性与数组中的重复元素有关,但是v-for属性如何在后台实现?当数组中有重复的元素时,行为是什么?track-by =“ $ index”如何产生影响?

new Vue({

	el: '#app',
  
  data: function() {
  	return {
    	items: [
      	'User Connected',
        'Message',
        'Message',
        'User Connected',
        'Message'
      ]
    }
  },
  
  methods: {
  	addItem: function(item) {
			this.items.push(item);
    }
  }

})
  • {{ item }}
    {{items | json}}
  

https://jsfiddle.net/uuw4z0kr/2/



1> Jeff..:

为了反应迅速,Vue尽可能重用DOM元素。因此,如果已经为特定项目渲染了DOM,它将保存它以供需要再次渲染的任何时候使用。如果从数组中删除了某些内容,然后又将其重新添加,则使用现有HTML的速度会更快。

但这会在数组元素不唯一时引起问题。Vue无法区分它们。 track-by告诉Vue每个项目的哪个方面都是唯一的,因此它可以知道何时重新使用DOM元素。如果数组是具有id属性的一系列对象,则可以使用track-by='id'。但是,如果对象没有唯一字段,则将track-by='$index'每个对象与其在数组中的位置相关联。这是固有的唯一属性,因此可以避免重复条目的错误。

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有