美文网首页
父组件获取自组件实例 $refs

父组件获取自组件实例 $refs

作者: 小杰的简书 | 来源:发表于2018-11-24 10:46 被阅读0次

Vue.js之$refs

2017年11月16日 16:03:27 阅读数:1064 标签: vue vue-js ref 更多

个人分类: Vue

<article style="box-sizing: inherit; outline: 0px; display: block; position: relative; padding-top: 16px; color: rgb(51, 51, 51); font-family: 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;">

版权声明:本文为博主原创文章,转载请注明出处 thx~ https://blog.csdn.net/x550392236/article/details/78552338

尽管有 prop 和事件,但是有时仍然需要在 JavaScript 中直接访问子组件。为此可以使用 ref 为子组件指定一个引用 ID。

ref 为子组件指定一个引用 ID,使父组件能通过 ref 直接访问子组件中的数据

通过 this.$refs.outsideComponentRef 能直接定位到 ref=”outsideComponentRef” 的上,并返回该实例化对象


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

<div id="app">
    <component-father ref="outsideComponentRef"></component-father>
</div>

<script>
    var refoutsidecomponentTem = {
        template: "<div class='childComp'><h5>{{test}}</h5></div>",
        data(){
            return{
                test:'我是子组件'
            }
        }
    };

    new Vue({
        el: "#app",
        components: {
            "component-father": refoutsidecomponentTem
        },
        mounted:function () {
            console.log(this); // #app     vue实例                 
            console.log(this.$refs.outsideComponentRef); // VueComponent  vue实例
            console.log(this.$refs.outsideComponentRef.test); // '我是子组件'
        }
    });
</script>

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

<div id="app">
    <component-father></component-father>
    <p ref="outsideComponentRef">p标签</p>
</div>

<script>
    var refoutsidecomponentTem = {
        template: "<div class='childComp'><h5>{{test}}</h5></div>",
        data(){
            return{
                test:'我是子组件'
            }
        }
    };

    new Vue({
        el: "#app",
        components: {
            "component-father": refoutsidecomponentTem
        },
        mounted:function () {                
            console.log(this.$refs.outsideComponentRef); // 返回 “<p>p标签</p>”对象
        }
    });
</script>

</article>

相关文章

网友评论

      本文标题:父组件获取自组件实例 $refs

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