vue列表循环和key的注意事项

简介: vue列表循环和key的注意事项
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./vue.global.js"></script>
  </head>
  <body>
    <div id="app"> 
       <div v-for="(item, index) in list" :key="item">
        {{item}} {{index}} 
       </div>
       <div v-for="(value,key, index) in info" :key="key">{{value}} {{key}} {{index}}</div>
        <div v-for="(item, index) in num" :key="item">{{item}} {{index}}</div>  
    </div>
    <script>
      let vm = Vue.createApp({
        data() {
          return {
            list: ["a", "b", "c"],
            info: { usename: "zhuzhu", age: 22 },
            num: 10,
          };
        },
      }).mount("#app");
      
    </script>
  </body>
</html>

在这里插入图片描述
元素不加key出现的问题:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./vue.global.js"></script>
  </head>
  <body>
    <div id="app">
        <!-- key当作index  和不加key错误是一样的 -->
      <div v-for="(item, index) in list" :key="item">
        {{item}} {{index}}
        <input type="text" />
      </div> 
    </div>
    <script>
      let vm = Vue.createApp({
        data() {
          return {
            list: ["a", "b", "c"], 
          };
        },
      }).mount("#app");
      setTimeout(() => {
        vm.list.unshift("d");
      }, 2000);
    </script>
  </body>
</html>

不加key或者key作为index的错误一致 2秒之前的效果
在这里插入图片描述
过2秒之后数组追加元素d 发现input不追随元素 这就是没有key
在这里插入图片描述
加key 才是正确的结果
在这里插入图片描述

相关文章
|
7天前
|
资源调度 JavaScript 前端开发
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
|
7天前
|
JavaScript
【vue】深入探讨vue中组件间多种传值方式
【vue】深入探讨vue中组件间多种传值方式
【vue】深入探讨vue中组件间多种传值方式
|
7天前
|
JavaScript 前端开发
vue组件化开发流程梳理,拿来即用
vue组件化开发流程梳理,拿来即用
|
7天前
|
移动开发 JavaScript 前端开发
Vue Router的介绍与引入
Vue Router的介绍与引入
|
7天前
|
JavaScript 应用服务中间件 nginx
vue中404解决方法
vue中404解决方法
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
984 0
|
11天前
|
JavaScript
【vue】如何跳转路由到指定页面位置
【vue】如何跳转路由到指定页面位置
14 0
|
11天前
|
JavaScript 前端开发
【vue】iview如何把input输入框和点击输入框之后的边框去掉
【vue】iview如何把input输入框和点击输入框之后的边框去掉
15 0
|
11天前
|
JavaScript UED
【vue】iview组件 DatePicker 日期选择器如何显示默认当前日期
【vue】iview组件 DatePicker 日期选择器如何显示默认当前日期
14 1
|
7天前
|
JavaScript
Vue 中如何模块化使用 Vuex
Vue 中如何模块化使用 Vuex