我爱模板网 > 建站教程 > 前端框架 >  Vue.js中ref ($refs)用法举例总结正文

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

本文详细举例了Vue.js中ref ($refs)用法,转载自cnblog的慕容小凡,原文地址:http://www.jianshu.com/p/3bd8a2b07d57

一、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"
});



部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
上一篇:Vue页面渲染ajax获取的对象报错undefined 下一篇:VUE $forceUpdate()强制渲染
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
选择头像:
最新评论

猜你喜欢