zoukankan      html  css  js  c++  java
  • Vue.js(2.x)之列表渲染(v-for/key)

    1.v-for是Vue里的循环语句,与其他语言的循环大同小异。首先得有需要循环且不为空的数组,循环的关键字为in或of。

    需要索引时的写法:

    v-for里的in可以使用of代替:

    还可以使用v-for的<template>标签循环多个元素块:

    对象迭代v-for:可通过一个对象属性迭代

    这种可以提供数字索引的挺好,跟其他语言一样,索引从0开始。

    整数迭代 v-for:n从1开始,不像索引一样从0开始。且只有整数可以这样,换成小数、字母均无效。

    HTML代码示例图:

    浏览器页面与控制台示意图:

    组件现在还不会,先略过。

    v-for with v-if:官网文档就干干地写了这么三行,没完整的例子,还是自己随便写个完整的看看:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <ul id="example">
      <li v-for="todo in todos" v-if="!todo.isComplete">
        {{ todo.age }}
      </li>
    </ul>
    <script src="js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#example',
            data: {
                todos: {
                    'Lily' : {
                        isComplete: 0,
                        age: 25
                    },
                    'Lucy': {
                        isComplete: 1,
                        age: 29
                    },
                    'Marry' : {
                        isComplete: 0,
                        age: 20
                    }
                }
            }
        })
    </script>
    </body>
    </html>
    View Code

    页面效果图:

    在浏览器控制台输入:vm.todos.Lucy.isComplete = 0,效果图如下:

    根据实际情况使用v-if与v-for,如果可以将使用v-if判断再使用v-for循环,这样效率要比它们都在同一节点效率高。

     

    2.key:官网的介绍看不懂,搜索后找出一个一位解释的相对好理解的答案。

     https://www.zhihu.com/question/61064119/answer/183717717,部分截图如下:

  • 相关阅读:
    题解 nflsoj204 排列
    题解 CF1328 D,E,F Carousel, Tree Queries, Make k Equal
    题解 LOJ3277 「JOISC 2020 Day3」星座 3
    题解 nflsoj464 CF1267K 正睿1225:一个简单的计数技巧
    题解 CF1326F2 Wise Men (Hard Version)
    题解 CF1326E Bombs
    题解 CF1316E and UOJ495:一类结合贪心的背包问题
    仓鼠的DP课 学习笔记
    题解 CF1314B Double Elimination
    固件
  • 原文地址:https://www.cnblogs.com/anns/p/7404305.html
Copyright © 2011-2022 走看看