六、Vue学习 条件渲染 列表渲染

一、条件渲染

  • 注意 不要将 v-if 和v-for 放在同一个元素使用
    可用 template 修正:
<template v-for="todo in todos" :key="todo.name">
  <li v-if="!todo.isComplete">
    {{ todo.name }}
  </li>
</template>

二、列表渲染

2.1 数组更新检测

官方参考文档

2.1.1 会改变数组

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort()
  • reverse()

2.1.2 显示过滤/排序后的结果

2.1.2.1 计算属性实现
<li v-for="n in evenNumbers" :key="n">{{ n }}</li>
data() {
  return {
    numbers: [ 1, 2, 3, 4, 5 ]
  }
},
computed: {
  evenNumbers() {
    return this.numbers.filter(number => number % 2 === 0)
  }
}
2.1.2.2 计算属性不适用的情况下,如下:
<ul v-for="numbers in sets">
  <li v-for="n in even(numbers)" :key="n">{{ n }}</li>
</ul>
data() {
  return {
    sets: [[ 1, 2, 3, 4, 5 ], [6, 7, 8, 9, 10]]
  }
},
methods: {
  even(numbers) {
    return numbers.filter(number => number % 2 === 0)
  }
}

2.1.3 在template 中 使用v-for

    <ul>
      <template v-for="i in stu">
        <li>{{ i }}</li>
        <li>111111111111</li>
      </template>
    </ul>
    
  data() {
    return {
      stu: ["xxx1", "xxx2", "xx3"],
    };
  },

输出结果:
在这里插入图片描述

2.1.4 在组件上使用 v-for

官方参考网址,里面的一个实例 值得学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值