zoukankan      html  css  js  c++  java
  • Vue 在父(子)组件引用其子(父)组件方法和属性

    Vue 在父()组件引用其子()组件方法和属性

     

    by:授客 QQ1033553122

     

    开发环境

     

    Win 10

    element-ui  "2.8.2"

    Vue 2.9.6

     

     

     

    父组件代码

    <template>

        <div>

            <button @click="callChildMethod()">父组件调用子组件方法</button>

            <button @click="getChildAttribute()">父组件获取子组件属性</button>

     

            <header-part ref="headerChild"></header-part>

        </div>

    </template>

     

    <script>

    import HeaderPart from "./HeaderPart";

     

     

    export default {

        components: {

            HeaderPart

        },

        data() {

            return {

                title: "父组件"

            };

        },

     

        methods: {

            callChildMethod() {

                console.log("父组件中调用子组件printName方法");

                this.$refs.headerChild.printName();

            },

            getChildAttribute() {

                console.log(

                    "父组件获取子组件title属性值:" + this.$refs.headerChild.title

                );

            },

            printName() {

                console.log("打印父组件title属性值:" + this.title);

            }

        },

        mounted() {

            this.$customUtils.headerMenu.initMenuComponent();

        }

    };

    </script>

     

    子组件代码

    <template>

        <div>

           

            <button @click="callFatherMethod()">子组件中调用父组件的方法</button>

            <button @click="getFatherAttribute()">子组件中获取父组件的属性</button>

        </div>

    </template>

     

    <script>

     

    export default {

        data() {

            return {

                title: "子组件"

            };

        },

     

        methods: {

            callFatherMethod() {

                console.log("子组件中调用父组件printName方法")

                this.$parent.printName();

            },

            getFatherAttribute(){

                console.log("子组件获取父组件title属性值:" +  this.$parent.title);

     

            },

            printName(){

                console.log("打印子组件title属性值:" + this.title)

            }

        }

      

    };

    </script>



    实验结果:

     

     

    总结

    父组件获取中引用子组件方法、属性

    给子组件定义一个ref(假设名称为childRef),然后父组件中通过this.$refs.childRef获取子组件,进而引用子组件方法、属性,如下:

    this.$refs.childRef.方法(参数列表

    this.$refs.childRef.属性

     

     

    子组件中获取父组件的方法、属性

    在子组件里面通过this.$parent获取父组件,进而引用父组件的方法和属性,如下:

    this.$parent.属性

    this.$parent.方法

  • 相关阅读:
    目标跟踪学习笔记1
    求职笔记
    Pycharm使用问题小结-002
    Pycharm使用问题小结-001
    Python基础练习-004-百变乘法表
    Python基础练习-003-求100-999之间所有的水仙花数
    Python基础练习-002-求1000以内的完全数
    Python基础练习-001-猜数字小游戏
    java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)(转)
    Jmeter
  • 原文地址:https://www.cnblogs.com/shouke/p/13170512.html
Copyright © 2011-2022 走看看