vue组件通信

通常父子组件通信都是用props和$emit进行传递,父组件通过props传值给子组件,子组件通过$emit传值给父组件,父组件通过绑定事件来获取子组件传过来的值。

还可以使用.sync可以实现子组件修改父组件的值:

日常开发中还有一种情况,就是父组件向子组件传递数据,然后子组件又传给自己的子组件,所以就会用props一直传递下去,相反会用$emit通过事件传递回来,这样做太麻烦,所以通常会引入vuex,但是因为这一个问题就引入vuex是没有必要的,这时候就需要vue新提供的inheritAttrs和attrs来解决这个问题。

还有另外一种通信方式就是用provide和inject进行通信,provide和inject主要为高阶插件/组件库提供用例。并不推荐直接用于应用程序代码中。

你可能感兴趣的:(vue组件通信)