fayeah / blogs

方法论、问题驱动、总结
6 stars 0 forks source link

【Vue】Vue组件之间的通讯方式 #11

Open fayeah opened 4 years ago

fayeah commented 4 years ago

组件之间需要相互的通讯,父与子,同级组件,隔代的组件之间都有可能用到,掌握这些通讯方式能很好地帮助我们实现业务,优化代码。

// 父组件提供provide
provide: {
    foo: 'bar'
  },
  // 子组件注入`foo`,便可直接使用
  inject: ['foo'],
// 创建一个event bus, 在任何文件中
export const bus = new Vue();
// 在a组件中emit一个event,需要导入bus
bus.$emit('changeIt', 'changed header');
// 在b组件中监听该event
bus.$on('changeIt', (data) => {
      this.header = data;
    })
// 可手动销毁event bus
bus.$off();

以上,是今天总结的关于组件之间通讯的方式。些许简陋,但是基本涵盖了几种方式及其使用。