欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅谈Vue.js中ref ($refs)用法举例总结

程序员文章站 2022-03-16 16:41:47
本文介绍了vue.js中ref ($refs)用法举例总结,分享给大家,具体如下: 看vue.js文档中的ref部分,自己总结了下ref的使用方法以便后面查阅。 一...

本文介绍了vue.js中ref ($refs)用法举例总结,分享给大家,具体如下:

看vue.js文档中的ref部分,自己总结了下ref的使用方法以便后面查阅。

一、ref使用在外面的组件上

html 部分

<div id="ref-outside-component" v-on:click="consoleref">
  <component-father ref="outsidecomponentref">
  </component-father>
  <p>ref在外面的组件上</p>
</div>

js部分

  var refoutsidecomponenttem={
    template:"<div class='childcomp'><h5>我是子组件</h5></div>"
  };
  var refoutsidecomponent=new vue({
    el:"#ref-outside-component",
    components:{
      "component-father":refoutsidecomponenttem
    },
    methods:{
      consoleref:function () {
        console.log(this); // #ref-outside-component   vue实例
        console.log(this.$refs.outsidecomponentref); // div.childcomp vue实例
      }
    }
  });

二、ref使用在外面的元素上

html部分

<!--ref在外面的元素上-->
<div id="ref-outside-dom" v-on:click="consoleref" >
  <component-father>
  </component-father>
  <p ref="outsidedomref">ref在外面的元素上</p>
</div>

js部分

  var refoutsidedomtem={
    template:"<div class='childcomp'><h5>我是子组件</h5></div>"
  };
  var refoutsidedom=new vue({
    el:"#ref-outside-dom",
    components:{
      "component-father":refoutsidedomtem
    },
    methods:{
      consoleref:function () {
        console.log(this); // #ref-outside-dom  vue实例
        console.log(this.$refs.outsidedomref); //  <p> ref在外面的元素上</p>
      }
    }
  });

三、ref使用在里面的元素上---局部注册组件

html部分

<!--ref在里面的元素上-->
<div id="ref-inside-dom">
  <component-father>
  </component-father>
  <p>ref在里面的元素上</p>
</div>

js部分

  var refinsidedomtem={
    template:"<div class='childcomp' v-on:click='consoleref'>" +
            "<h5 ref='insidedomref'>我是子组件</h5>" +
         "</div>",
    methods:{
      consoleref:function () {
        console.log(this); // div.childcomp  vue实例 
        console.log(this.$refs.insidedomref); // <h5 >我是子组件</h5>
      }
    }
  };
  var refinsidedom=new vue({
    el:"#ref-inside-dom",
    components:{
      "component-father":refinsidedomtem
    }
  });

四、ref使用在里面的元素上---全局注册组件

html部分

<!--ref在里面的元素上--全局注册-->
<div id="ref-inside-dom-all">
  <ref-inside-dom-quanjv></ref-inside-dom-quanjv>
</div>

js部分

  vue.component("ref-inside-dom-quanjv",{
    template:"<div class='insidefather'> " +
          "<input type='text' ref='insidedomrefall' v-on:input='showinsidedomref'>" +
          " <p>ref在里面的元素上--全局注册 </p> " +
         "</div>",
    methods:{
      showinsidedomref:function () {
        console.log(this); //这里的this其实还是div.insidefather
        console.log(this.$refs.insidedomrefall); // <input type="text">
      }
    }
  });

  var refinsidedomall=new vue({
    el:"#ref-inside-dom-all"
  });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。