Vue JS在两个组件之间发送数据没有道具

时间:2018-09-23 17:39:21

标签: vue.js vuejs2 vue-component vuex vue-router

您好,我正在尝试寻找一种方法,以从组件A向组件B发送一些布尔值,而又不会彼此嵌套,没有道具,而只是发送数据,单向绑定。

    export default {
       data: function {
       return {
       value1: false,
       value2:true
    }
 }
}

1 个答案:

答案 0 :(得分:1)

使用Vuex引入全局状态可能是实现此目的的最佳方法。

无需在系统中引入任何新内容,就可以使用事件总线进行处理。像这样引入辅助渠道确实会增加应用程序的复杂性,但有时是必需的。

然后在组件中像这样使用它们

// eventBus.js
import Vue from 'vue';
export const EventBus = new Vue();

// To setup your component to listen and update based on new value
import { EventBus } from './eventBus';
mounted() {
  EventBus.$on('newValue', (val) => this.something = val);
}

// To send out a new value 
EventBus.$emit('newValue', 5);