vue多层子组件调用父组件事件

vue中父子组件传值都是用emit和props比较多,但是这个是针对于单层的父子组件,如果是多层的,那就应该换一种了。provide和inject.。

父组件:

export default {
    provide() {
		return {
			fatherMethod: this.popupOpen, // popupOpen是父级的一个事件名
		};
	},
    methods: {
        popupOpen(params) {
            console.log(params)
        }
    }
}

子组件:

export default {
    inject: ["fatherMethod"],
    methods: {
        init() {
            this.fatherMethod(params); // params是可以选择传的参数
        }
    }
}

你可能感兴趣的:(vue,vue.js,javascript)