Vue基础之Vue列表渲染

2023年4月30日13:05:21

列表渲染

我们用 v-for 指令根据一组数组的选项列表进行渲染。 v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名

基本用法:

Vue基础之Vue列表渲染
在 v-for 块中,我们拥有对父作用域属性的完全访问权限。 v-for 还支持一个可选的第二个参数为当前项的索引
Vue基础之Vue列表渲染
你也可以用 of 替代 in 作为分隔符,因为它是最接近 JavaScript 迭代器的语法
Vue基础之Vue列表渲染

对象迭代 v-for:

你也可以用 v-for 通过一个对象的属性来迭代
Vue基础之Vue列表渲染
你也可以提供第二个的参数为键名
Vue基础之Vue列表渲染
第三个参数为索引
Vue基础之Vue列表渲染

整数迭代 v-for:

v-for 也可以取整数。在这种情况下,它将重复多次模板
Vue基础之Vue列表渲染
结果
Vue基础之Vue列表渲染

组件 和 v-for:

在自定义组件里,你可以像任何普通元素一样用 v-for
Vue基础之Vue列表渲染
然而他不能自动传递数据到组件里,因为组件有自己独立的作用域。为了传递迭代数据到组件里,我们要用 props
Vue基础之Vue列表渲染
不自动注入 item 到组件里的原因是,因为这使得组件会紧密耦合到 v-for 如何运作。在一些情况下,明确数据的来源可以使组件可重用

key:

为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。理想的 key 值是每项都有唯一 id。这个特殊的属性相当于 Vue 1.x 的 track-by ,但它的工作方式类似于一个属性,所以你需要用 v-bind 来绑定动态值
Vue基础之Vue列表渲染

数组更新检测:

变异方法:会改变原始数组,且会触发视图更新

push、pop、shift、unshift、splice、sort、reverse

重塑数组:不会改变原始数组,总是返回一个新数组

filter、concat、slice

显示过滤/排序结果:

有时,我们想要显示一个数组的过滤或排序副本,而不实际改变或重置原始数据。在这种情况下,可以创建返回过滤或排序数组的计算属性
例如
Vue基础之Vue列表渲染
只要number被修改,则会出发计算属性eventNumbers进行计算

  • 作者:tian361zyc
  • 原文链接:https://blog.csdn.net/tian361zyc/article/details/72725310
    更新时间:2023年4月30日13:05:21 ,共 786 字。