免费企业推广网站,优秀网站设计案例分析,dw如何做网页,电商网站开发要哪些技术refInFor#xff1a;如果你在渲染函数中给多个元素都应用了相同的 ref 名#xff0c;那么 $refs.myRef 会变成一个数组。 vue中的refInFor属性是Vue框架中用于在循环渲染的元素上设置引用的一种方式。
在Vue中#xff0c;ref属性通常用于给元素或子组件注册引用信息如果你在渲染函数中给多个元素都应用了相同的 ref 名那么 $refs.myRef 会变成一个数组。 vue中的refInFor属性是Vue框架中用于在循环渲染的元素上设置引用的一种方式。
在Vue中ref属性通常用于给元素或子组件注册引用信息这些引用信息会注册在父组件的$refs对象上。如果是在普通的DOM元素上使用引用指向的就是DOM元素如果是在子组件上引用就指向组件的实例。当在子组件或者DOM元素上写refxxx时Vue实例上就有了一个$refs属性包含了所有注册过ref的DOM对象。通过$refs我们可以直接访问到这些DOM元素或子组件实例从而进行直接操作或访问它们的属性和方法。
在循环渲染的场景中如果需要在循环内部使用ref来引用某个元素或组件并且希望这个引用在循环外部也是可访问的就需要使用refInFor属性。这个属性确保了在循环中设置的引用不会因为每次循环都创建一个新的引用对象而导致无法正确访问。通过在循环中的元素上设置refsomeRef和refInFor属性可以在循环外部通过this.$refs.someRef访问到所有循环中创建的元素或组件的引用集合。
这种用法在需要遍历列表并对每个元素进行特定操作时非常有用例如当需要动态地改变列表中某些元素的样式或状态时可以通过refInFor来引用这些元素并在父组件中通过this.$refs来访问和操作它们。
!DOCTYPE html
html langen
headmeta charsetUTF-8title/title
/head
body
div idapph1vue TODO/h1my-todo v-bind:itemstodoList/my-todohrh2v-for 和 ref 结合使用/h2ultodo refli v-for(item,i) in todoList :keyi :todoitem.do/todo/ul
/div
template idtempAdivspan{{datas.isa}}/span/div
/templatescript srcvue.min.js/script
scriptVue.component(todo, {props: [todo],render(h) {return h(li, this.todo);}});Vue.component(my-todo, {props: [items],render(h) {console.log(my-todo);if (this.items.length) {const todo this.items.map((item) {return h(todo, {props: { todo: item.do },ref: ref-li,refInFor: true // 使用map生成一个vNode数组开启 refInFor: truethis.$refs.[ref-li] 是一个数组// refInFor 如果不开启获取到的是最后一个元素或者子组件});});return h(ol, todo);} else {return h(p, no todo);}},mounted() {// 在父组件中获取注册了 ref 特性的子组件的console.log(this.$refs[ref-li])console.log(this.$refs[ref-li]);//数组}});
const app new Vue({el: #app,data: {todoList: [{ do: eat }, { do: code }]},mounted() {console.log(app);console.log(this.$refs.li)console.log(this.$refs.li)}
});
/script
/body
/html 参考资料
Vue官网——API — Vue.js | Vue之render函数_Vue.js——博客园
Vue 中的Render全面详解 (渲染函数JSX)-CSDN博客 | Vue中的render函数-CSDN博客
轻松掌握 Vue render 函数简单易懂的使用指南 | Vue中 渲染函数render的介绍和应用
vue 中的 render 函数作用详解_vue.js_脚本之家 | Vue render函数使用详细讲解_vue.js_脚本之家