vue多层组件监听 v-bind=“$attrs“,v-on=“$listeners“

高层级向低层级传值 v-bind=“$attrs”

v-bind="$attrs"主要用于高层组件向低层组件隔代传值。

假如有 父组件A,子组件B,孙组件C 三个组件。

A组件中的值需要直接传给C组件,那么就需要在B组件中设置v-bind=“$attrs”,然后在A组件中传值,在C组件中用prop接收,这样就可以把值从A组件传到C组件。

低层级向高层级传值 v-on=“$listeners”

v-on="$listeners"主要用于低层组件向高层组件隔代传值。

还是有 父组件A,子组件B,孙组件C 三个组件。

如果是C想向A传递信息,传统方式就需要C先emit给B,B再emit给A,这种方式比较麻烦。

这时候就可以在B组件使用v-on=“$listeners” ,这时候C组件就可以直接使用emit把事件和参数传递到A组件。

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