vue.js - Vue js 在两个组件之间发送数据没有道具
问题描述
您好,我正在尝试找到一种方法,将一些布尔值从组件 A 发送到组件 B,而无需相互嵌套,无需道具,只需发送数据,单向绑定。
export default {
data: function {
return {
value1: false,
value2:true
}
}
}
解决方案
用 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);
推荐阅读
- android - 错误:程序类型已存在:com.google.android.gms.internal.measurement.zzdz
- angular - 如何在订阅中获得观察者的结果?
- javascript - 反应 useEffect 正在运行并获取数据不停
- angular - 如何将 Jquery 实现转换为 Angular 6
- r - 使用以列为参数的函数计算数据框或列表中的新列
- angular - 动态组件注入中的角度 innerHTML 限制
- algorithm - 在 Python 中高效生成素数并计算复杂度
- javascript - 将 React 与带有 JSX 的现有应用程序一起使用
- nginx - 尽管在 nginx 上托管在本地 Web 上运行良好,但它不适用于外部 ip
- javascript - 响应式导航框