[30天 Vue学好学满 DAY10] v-for 列表渲染

v-for

基於数组、物件透过迭代遍历对前端进行渲染。

item in items
items: 数据源
item: 元素别名
index: 当前索引
key: 追踪节点的唯一值(2.2.0+ 必须绑定):改变顺序时,确保重新渲染。
可用 of 代替 in

阵列应用

HTML

<li v-for="item in items" :key="item.id">
    {{ item.text }}
</li>

定义items

data() {
    return {
      items: [
        { id: "1", text: "text0" },
        { id: "2", text: "text1" },
        { id: "3", text: "text2" },
      ],
    };
},

渲染结果
https://ithelp.ithome.com.tw/upload/images/20210909/201295369zebdbNOrS.png


测试item, index
微调HTML

<li v-for="(item, index) in items" :key="item.id" @click="logItem(item)">
    第 {{index}} 个为 {{ item.text }}
</li>

定义方法

methods: {
    logItem: function (obj) {
      console.log(obj); // 测试传出item
    },
},

**渲染结果 & 点击第一列 **
https://ithelp.ithome.com.tw/upload/images/20210909/20129536ACCiYTZTcO.png


遍历物件的所有属性

调整前端HTML

<li v-for="value in items[0]" :key="value">
      {{ value }}
</li>

渲染结果
https://ithelp.ithome.com.tw/upload/images/20210909/20129536VNRYgKD0yT.png

name属性名称

调整前端HTML

<li v-for="(value, name, index) in items[0]" :key="index">
       {{ index }}. {{ name }}: {{ value }}
</li>

渲染结果
https://ithelp.ithome.com.tw/upload/images/20210909/20129536KI0aauMoBo.png

常数

HTML加上

<li v-for="n in 10" :key="n">
    {{ n }}
</li>

渲染结果
同区块中相同key值可能造成错误
https://ithelp.ithome.com.tw/upload/images/20210909/20129536hK5ZRYIGPn.png

在指令中使用方法

HTML

<ul v-for="(set, index) in sets" :key="index">
    <li v-for="(n, index) in odd(set)" :key="index">{{ n }}</li>
</ul>

Data

sets: [[ 1, 2, 3, 4, 5 ], [6, 7, 8, 9, 10]]

方法: 过滤奇数

methods: {
    // 过滤奇数 
    odd: function (numbers) {
      return numbers.filter(function (number) {
        return number % 2 !== 0;
      });
    },
},

渲染结果
1 3 5 7 9

阵列更变方法

vue对於操作阵列的方法也可进行即时渲染,包含以下
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
可透过F12 进行测试


有错误请不吝指教!
参考资料
https://vuejs.org/v2/guide
https://medium.com/pierceshih
https://cythilya.github.io/2017/04/27/vue-list-rendering/

感谢各路大神 /images/emoticon/emoticon31.gif


<<:  [DAY 05] MultipleChoiceItem

>>:  传说中的资讯安全全景图

简报版-第八章-近年勒索软件加密威胁无人不知!注意基本观念「备份」一式三份

其实原本最初规画想要做Index方式的纪录,然後多增加一些没写到的面向 不过,总是计画赶不上变化 ...

密码学-串流型加密器(cryptography- Stream ciphers)

-来源:广工,滑铁卢大学(Credit: Guang Gong, University of Wa...

[NestJS 带你飞!] DAY25 - Authorization & RBAC

现在的企业会使用一些管理系统来管理人力等资源,而这些管理系统通常都会有所谓的 权限设计 (Permi...

获得资讯系统运行授权(authorization)而应首先开发的文件-安全和隐私计划(Security and privacy plans)

-NIST SDLC 和 RMF 资讯系统所有者应准备授权包并将其提交给适当的 授权操作(ATO)...

Day 14— To Do List (1) 专案前置

我们今天要来正式开一个新的专案啦! 不同於以往我们都用 Google Form 来当作载体,这次我们...