举报投诉联系我们 手机版 热门标签 VUE中文网
您的位置:VUE中文网 > vue ref数组 Vue 3.0 v-for中的Ref数组

vue ref数组 Vue 3.0 v-for中的Ref数组

2023-06-09 20:17 VUE3教程

vue ref数组 Vue 3.0 v-for中的Ref数组

vue ref数组 Vue 3.0 v-for中的Ref数组

vue ref数组

在 Vue 2 中,在 v-for 里使用的 ref attribute 会用 ref 数组填充相应的 $refs property。当存在嵌套的 v-for 时,这种行为会变得不明确且效率低下。

在 Vue 3 中,这样的用法将不再在 $ref 中自动创建数组。要从单个绑定获取多个 ref,请将 ref 绑定到一个更灵活的函数上 (这是一个新特性):

<div v-for="item in list" :ref="setItemRef"></div>

结合选项式 API:

export default {
  data() {
    return {
      itemRefs: []
    }
  },
  methods: {
    setItemRef(el) {
      this.itemRefs.push(el)
    }
  },
  beforeUpdate() {
    this.itemRefs = []
  },
  updated() {
    console.log(this.itemRefs)
  }
}

结合组合式 API:

import { ref, onBeforeUpdate, onUpdated } from "vue"


export default {
  setup() {
    let itemRefs = []
    const setItemRef = el => {
      itemRefs.push(el)
    }
    onBeforeUpdate(() => {
      itemRefs = []
    })
    onUpdated(() => {
      console.log(itemRefs)
    })
    return {
      itemRefs,
      setItemRef
    }
  }
}

注意:

  • itemRefs 不必是数组:它也可以是一个对象,其 ref 会通过迭代的 key 被设置。
  • 如果需要,itemRef 也可以是响应式的且可以被监听。
阅读全文
以上是VUE中文网为你收集整理的vue ref数组 Vue 3.0 v-for中的Ref数组全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  Sublime Text 编辑

    Sublime Text 编辑

    2023-06-05 Sublime Text 编辑

    编辑(Editing)Sublime Text的编辑十分人性化——它不像Vim那样反人类(尽管我也用Vim但我还是要说Vim的快捷键设定绝壁连代谢产...

  •  Sublime Text 摘要

    Sublime Text 摘要

    2023-05-13 Sublime Text 摘要

    原文出处:http://lucida.me/blog/sublime-text-complete-guide/作者:Lucida摘要(Abstract)本文系统全面的介绍了Sublime Text...

  •  Sublime text 3 如何格式化html/CSS/JS代码

    Sublime text 3 如何格式化html/CSS/JS代码

    2023-06-18

    使用Sublime text 3 编写代码是一种享受,使用Sublime text 3 格式化代码插件也是一种享受,HTML-CSS-JS Prettify是一款集成了格...

  •  Sublime Text 购买

    Sublime Text 购买

    2023-03-28 Sublime Text 购买

    购买(Purchase)Sublime Text是一个收费闭源软件,这在一定程度上成为了我支持Sublime Text的理由(我心中的软件靠谱程度:免费...

  • vscode编辑器组件 vscode 编辑器组

    vscode编辑器组件 vscode 编辑器组

    2023-06-15

    VS Code 的编辑器的组织方式,还是相对比较常见的,没有什么特别难的地方,相信你可以轻松使用。不过,要提到编辑器相关的操作,...

© 2024 VUE中文网 vue88.com 版权所有 联系我们