zoukankan      html  css  js  c++  java
  • Vue学习笔记【9】——Vue指令之v-for和key属性

    1. 迭代数组(普通数组、对象数组)

     <ul>
       <li v-for="(item, i) in list">索引:{{i}} --- 姓名:{{item.name}} --- 年龄:{{item.age}}</li>
     </ul>
    1. 迭代对象中的属性

        <!-- 循环遍历对象身上的属性 -->
     ​
         <div v-for="(val, key, i) in userInfo">{{val}} --- {{key}} --- {{i}}</div>
    1. 迭代数字(起始值从1开始)

     <p v-for="i in 10">这是第 {{i}} 个P标签</p>

    2.2.0+ 的版本里,当在组件中使用 v-for 时,key 是必须的。

    当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用 “就地复用” 策略。如果数据项的顺序被改变,Vue将不是移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。

     <!DOCTYPE html>
     <html lang="en">
     <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <meta http-equiv="X-UA-Compatible" content="ie=edge">
       <title>Document</title>
       <script src="./lib/vue-2.4.0.js"></script>
     </head>
     <body>
       <div id="app">
     ​
         <div>
           <label>Id:
             <input type="text" v-model="id">
           </label>
     ​
           <label>Name:
             <input type="text" v-model="name">
           </label>
     ​
           <input type="button" value="添加" @click="add">
         </div>
         <!-- 注意: v-for 循环的时候,key 属性只能使用 number或者string -->
         <!-- 注意: key 在使用的时候,必须使用 v-bind 属性绑定的形式,指定 key 的值 -->
         <!-- 在组件中,使用v-for循环的时候,或者在一些特殊情况中,如果 v-for 有问题,必须 在使用 v-for 的同时,指定 唯一的 字符串/数字 类型 :key 值 -->
         <p v-for="item in list" :key="item.id">
           <input type="checkbox">{{item.id}} --- {{item.name}}
         </p>
       </div>
       <script>
         // 创建 Vue 实例,得到 ViewModel
         var vm = new Vue({
           el: '#app',
           data: {
             id: '',
             name: '',
             list: [
               { id: 1, name: '李斯' },
               { id: 2, name: '嬴政' },
               { id: 3, name: '赵高' },
               { id: 4, name: '韩非' },
               { id: 5, name: '荀子' }
             ]
           },
           methods: {
             add() { // 添加方法
               this.list.unshift({ id: this.id, name: this.name })
             }
           }
         });
       </script>
     </body>
     ​
     </html>

    为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。

  • 相关阅读:
    利用PHP SOAP实现WEB SERVICE
    PHP 简单的加密解密算法
    Java 简单的加密解密算法
    去掉php框架CI默认url中的index.php
    PHP 日期计算函数【差异天数】
    PHP生成迅雷、快车、旋风等软件的下载链接代码实例
    转:苹果iphone APP界面设计尺寸官方版
    iOS开发——密码存储之keychain的使用
    Simple iPhone Keychain Access
    View的简单说明
  • 原文地址:https://www.cnblogs.com/superjishere/p/11896824.html
Copyright © 2011-2022 走看看