当前位置: 移动技术网 > IT编程>脚本编程>vue.js > 浅谈Vue.js中ref ($refs)用法举例总结

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

2018年02月22日  | 移动技术网IT编程  | 我要评论

最好的奖赏 作文,邪云阁,中国三峡集团公司

本文介绍了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"
  });

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网