1.key 在虚拟dom中 标记不一样的结构,for循环中须要添加上vue
1 <body> 2 <div id="app"> 3 <div v-if="flag"> 4 <span>aaaa</span> 5 <input type="text" key="1"> 6 </div> 7 <div v-else> 8 <span>bbb</span> 9 <input type="text" key="2"> 10 </div> 11 12 </div> 13 <script src="./node_modules/vue/dist/vue.js"></script> 14 <script> 15 /* 16 ①flag 改变虚拟dom 在渲染的时候 发现span 和input 结构都是同样的,只有span的内容不同, 17 因此从新渲染了了span,input没有渲染,想让input从新渲染 只须要添加一个key就能够了 18 ② 通常循环添加key的时候不要添加索引,用后台传给前台惟一的id做为key 19 缘由:假如如今数据逆序后,0--->A 如今变成0---->B,内容改变,元素就会从新渲染 20 可是,若是用id元素只是改变了位置,并不须要从新渲染dom,提升性能 21 */ 22 let vm = new Vue({ 23 data:{ 24 flag:true 25 }, 26 methods:{ 27 28 } 29 }).$mount("#app"); 30 31 </script> 32 </body>