热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

for循环一定要指定键么vue_为什么不总是使用索引作为vue.jsfor循环中的键?

Ihaveusedvue.jsforacoupleofprojectsandIhavebeenusingtheindexasthekeyintheforloopsandhav

I have used vue.js for a couple of projects and I have been using the index as the key in the for loops

...and have started to wonder if there are problems with that since examples usually use the ID of the item.

解决方案

Because arrays are mutable. The index of any given item can and will change if items are added to or removed from the array.

You want your key to be a unique value identifying only your unique component. A primary key that you create is always better than using an index.

Here is an example.

console.clear()

Vue.component("item", {

props: ["value"],

data() {

return {

internalValue: this.value

}

},

template: `

Internal: {{internalValue}} Prop: {{value}}`

})

new Vue({

el: "#app",

data: {

items: [1, 2, 3, 4, 5]

},

methods: {

addValue() {

this.items.splice(this.items.length / 2, 0, this.items.length + 1)

}

}

})

{{items}}

AddValue

Note that when addValue is clicked, the list on top represents the new numbers in the array where the truly are in the array; in the middle. In the second list below the button, the values do not represent the actual location in the array and the internal and property values do not agree.



推荐阅读
author-avatar
大豆子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有