vue2组件通信之$attrs/$listeners

包含了父作用域中不作为prop被识别(且获取)的特性绑定(class和style除外)。当一个组件没有声明任何prop时,这里会包含所有父作用域的绑定(class和style除外),并且可以通过v-bind="$attrs"传入内部组件--在创建高级别的组件时非常有用。

子组件props中声明foo

{{$attrs.foo}}
    

父组件中

祖孙传值

祖先组件a组件中传值给孙组件

在父级组件parent组件中通过v-bind把数据传给孙组件

在孙组件中使用

{{$attrs.msg}}

$listeners用法与$attrs一致传递方法使用

在祖先组件中向父组件传入方法

methods:{
foo(){

console.log("方法传递")

}

}

在父级组件parent组件中通过v-bind把数据传给孙组件

在孙组件中使用

mounted{

    change(){

        this.$emit("foo")

}

}

你可能感兴趣的:(vue2组件通信之$attrs/$listeners)