List Rendering 列表渲染

F12

/

1. 数组 -> 元素:v-for="item in items",
其中 items是data实例中定义的,item是html循环中使用的别名 > vm.items
{{item}} - {{ item.message }}

2. 在 v-for 块中,我们可以访问所有父作用域的 property。v-for 还支持一个可选的第二个参数,即当前项的索引。
{{msg}}: {{index}} - {{ item.message }}

3. 在 v-for 里使用对象
--- 3.1 v-for="value in myObject"
value: {{value}}

--- 3.2 v-for="(value, key) in myObject"(或许应该用name,用key可能有风险)
--- 3.3 v-for="(value, name, index) in myObject"
--- 3.4 :key=name 增加绑定 //todo 不懂,参考 Maintaining State 维护状态
4. 变更方法 vm.items.push({message:"third"}); vm.items.push({message:"4th"});
push()
pop()
shift()
unshift()
splice()
sort()
reverse()

5. 替换数组 filter()、concat() 和 slice() 不改变原始数组,而是返回新数组。
当使用非变更方法时,可以用新数组替换旧数组:
example1.items = example1.items.filter(item => item.message.match(/Foo/))
	vm.items=vm.items.filter(item => item.message.match(/Foo/))
	

6. 显示过滤/排序后的结果
6.1 使用计算方法
6.2 也可以使用一个方法,如在嵌套 v-for 循环中
6.3 v-for 也可以使用范围 span
  • span(1-based): {{n}}

  • 7 在template中使用v-for,可以渲染更多元素
    8. v-if 比 v-for 优先级更高,所以不要放到同一个元素上。

    9. 在组件上使用 v-for //todo