vue2和vue3 v-for 中的 Ref 变化


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

在 Vue 3 中,这样的用法将不再在 $ref 中自动创建数组。要从单个绑定获取多个 ref,请将 ref 绑定到一个更灵活的函数上 (这是一个新特性)
<div v-for="(item,index) in list" ref="setItemRef"></div>
v2中 setItemRef 会自动填充为数组,可以通过 this.$refs.setItemRef[index]来使用。
v3中 需要手动绑定ref的值,如下,实际开发中setItemRef应该由list 遍历时动态生成
<div v-for="(item,index) in list" :ref="setItemRef[index]"></div>
data{
  return {
    list:[{
      id:1,
      name:'name1'
    },
    {
      id:2,
      name:'name2'
    }
],
    setItemRef:['listOne','listTwo']
  }
}


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM