美文网首页
Vue 父子组件的访问方式

Vue 父子组件的访问方式

作者: 稳小情 | 来源:发表于2020-05-13 12:54 被阅读0次

父组件访问子组件:使用 children 或refs

  1. $children使用的不多,只有想拿到所有子组件的时候才会用
  2. $refs =>对象类型,默认是一个空的对象
    下面则是实例!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <cpn></cpn>
        <cpn></cpn>
        <cpn ref="aaa"></cpn> <!--ref=aaa可以指定!而children是想拿到所有子组件的时候才会用--->
        <button @click="dianji">点击</button>
    </div>
    <template id="cpn">
        <div>我是子组件</div>
    </template>
    <script>
        
        var vm = new Vue({
            el:"#app",
            data:{
                
            },
            methods:{
                dianji:function(){
                    console.log(this.$refs.aaa.name) //父子访问子组件
                }
            },
            components:{
                cpn:{
                    template:'#cpn',
                    data(){
                        return{
                            name:"这个哦"
                        }
                    }
                }
            }
        })
    </script>
</body>
</html>

子组件访问父组件:使用parent,访问根组件:root

下面会有实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <cpn></cpn> 
    </div>
    <template id="cpn">
        <div>
            <h1>我是父组件</h1>
            <ccpn></ccpn>
        </div>
    </template>
    <template id="ccpn">
        <div>
            <h4>这里是我们的子组件</h4>
            <button @click="eclick">{{mmm}}</button>
        </div>
    </template>
    <script>

        var vm = new Vue({
            el:"#app",
            data:{
                message:"这里是内容是我自己让直接访问根组件的某个部分的"
            },
            components:{
                cpn:{
                    template:'#cpn',
                    data(){
                        return{
                            name:"这里是测试的"
                        }
                    },
                    components:{
                        ccpn:{
                            template:'#ccpn',
                            data(){
                                return{
                                    mmm:"稳小情"
                                }
                            },
                            methods:{
                                eclick(){
                                    //1.访问父组件$parent
                                    //console.log(this.$parent);
                                    //console.log(this.$parent.name);
                                    //2.访问根组件
                                    //console.log(this.$root);
                                    //console.log(this.$root.message)
                                }
                            }
                        }
                    }
                },
            }
        })
    </script>
</body>
</html>

相关文章

  • Vue相关知识点

    1、vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不...

  • Vue 父子组件的访问方式

    父组件访问子组件:使用 refs $children使用的不多,只有想拿到所有子组件的时候才会用 $refs =...

  • vue父子组件的访问方式

    有时候我们需要父组件直接访问子组件,子组件直接访问父组件,或者是子组件访问跟组件。 父组件访问子组件:使用$chi...

  • 2-8 vue全局属性

    vue全局属性 父子组件之间相互访问 在开发中,组件之间需要相互访问。比如:父组件访问子组件,子组件访问父组件,或...

  • vue中组件之间的通信方式?

    vue组件的通讯方式一般分为三类:父子组件,兄弟组件,跨层级组件 父子组件props on ref listene...

  • vue组件如何通信?有几种方式?

    在vue中组件通讯可以分为父子组件通讯和非父子组件通信。父组件通过props的方式向子组件传递数据,而子组件可以通...

  • 父子组件的访问方式

    我们得弄清楚一个是父子组件的通讯,另一个是父子组件的访问,两个概念不能混淆。 有时候我们需要父组件直接访问子组件定...

  • 父子组件的访问方式

    不论是子组件还是父组件本质上来说他们类似于一个对象,我们不需要利用父子组件通信去交换什么数据或者信号,我们仅仅需要...

  • Vue学习笔记[09]-组件化进阶

    tag:父子组件通信,data为什么为函数,事件总线 组件的可选属性 组件不能直接访问顶层Vue实例中的数据: 组...

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

网友评论

      本文标题:Vue 父子组件的访问方式

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