(v-for key) VUE v-for中的:key详解
:key 在 Vue.js 的 v-for 循环中是一个特别的属性,我们称之为”键”。当 Vue.js 用 v-for 更新已渲染过的元素列表时,它默认用 “就地复用 “策略。如果数据项的顺序被改变,Vue将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下能被找到。这个默认模式是高效的,但是只适用于不依赖子组件状态或临时 DOM 状态 (例如:表单输入值) 的列表渲染输出。
要克服这个行为,为每项提供一个唯一 key 属性值来创建依赖项的更完美映射。一个更明确的重现过程是绑定可变对象,如下:
这是一个代码示例:
<template>
<div id="app">
<ol>
<li v-for="item in items" :key="item.id">
{{ item.message }}
</li>
</ol>
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {
items: [{ id: 1, message: 'Hello' }, { id: 2, message: 'World' }]
}
},
}
</script>
在这个例子中,每次迭代的 item 元素都有一个唯一的 id,我们将这个唯一 id 作为 v-for
指令中的 :key
的值。当列表内容发生变化时,Vue 会基于 :key
的变化重新渲染该元素。若是 :key
没有变化,Vue 则知道不需要重新渲染该元素,提升了性能。
请记住,MARKDOWN_HASHa8064b9584c71317e790de0c9286b9a3MARKDOWNHASH
的值需要是每次迭代中唯一的,不能有重复的值,如果值重复了,那么 Vue 就无法区分列表中的元素了。
(python break和continue) Python中break语句和continue语句的用法讲解 在Python中break和continue关键词 全网首发(图文详解1)
[(对象合并) js中合并对象的几种实现方法 在 Javascript 中合并对象:Object.assign()扩展运算符和lodash.merge() 全网首发(图文详解1)](https://blog.wanwuguiyi.com/js-merge-object “(对象合并) js中合并对象的几种实现方法 在 Javascript 中合并对象:Object.assign()扩展运算符和lodash_.merge() 全网首发(图文详解1)”)