详解vue中的ref和$refs的使用

作者: a333661d6d6e | 来源:发表于2018-12-04 22:05 被阅读5次

    这篇文章主要介绍了vue中的ref和refs的使用,文中通过示例代码介绍的非常详细。

    ref:被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,那么指向的就是普通的DOM元素。

    ref 有三种用法:

    1、ref 加在普通的元素上,用this.ref.name 获取到的是dom元素
    2、ref 加在子组件上,用this.ref.name 获取到的是组件实例,可以使用组件的所有方法。
    3、如何利用 v-for 和 ref 获取一组数组或者dom 节点
    普通的DOM元素上使用

    <div id="app7">
      <input type="text"ref="TEXT"/ >
      <button @click="add">添加</button>
    </div>
    //欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860
    var app7=new Vue({
      el:"#app7",
      data:{
     
      },
      methods:{
        add:function(){
          console.log(this.$refs);
        }
      }
    })
    

    子组件上使用

    <div id="app7">
      <aaa ref=inputText></aaa>
      <input type="text"ref="TEXT" >
      <button @click="add">添加</button>
    </div>
    Vue.component('aaa',{
       template:"<div>我是一个组件</div>"
     })//欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860
     var app7=new Vue({
       el:"#app7",
       data:{
     
       },
       methods:{
         add:function(){
           console.log(this.$refs.inputText);
           console.log(this.$refs);
         }
       }
     })//欢迎加入前端全栈开发交流圈一起吹水聊天学习交流:864305860
     var aaa=app7.$refs.inputText;
     //console.log(aaa);
     //console.log(aaa.$el.innerText);
    

    refs:一个对象,持有注册过 ref 特性 的所有 DOM 元素和组件实例 注意:refs只会在组件渲染完成之后生效,并且它们不是响应式的。这只意味着一个直接的子组件封装的“逃生舱”——你应该避免在模板或计算属性中访问 $refs
    结语

    感谢您的观看,如有不足之处,欢迎批评指正。

    本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
    对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
    最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

    相关文章

      网友评论

        本文标题:详解vue中的ref和$refs的使用

        本文链接:https://www.haomeiwen.com/subject/ojgucqtx.html