我有一个工作系统,可以在控制面板中定义菜单项并将其提取到多个位置。 我要添加的一项附加功能是在创建新菜单项时刷新菜单(例如,在侧边栏)。 简单地说,我想运行getMenu在我定义的函数SidebarComponent ,后addMenuItem在我的功能MenuComponent运行。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
首先,我想弄清楚为什么我不想在这种情况下使用事件总线: 因为事件总线在这种情况下不起作用!
请首先查看我的Vue.js项目的简化结构:
App.vue
|---Map.vue
|---Info.vue
| |---layerInfo.vue
|
|---WMS.vue
|---WFS.vue
|---Basic.vue
该图仅显示了哪个组件创建了哪个子组件,但并非在Vue应用程序开始时都创建了所有子组件。 仅在满足某些条件时才会创建layerInfo.vue(您只能在使用后单击按钮才能成像,layerInfo.vue将被渲染/创建)
我做了什么:
在Map.vue组件中,我创建了一个Object映射,其中包含有用的信息,然后将该映射发送到Global Event Bus。
现在的问题是,layerinfo.vue不存在。 因此,我无法使用$ on来监听$ emit事件。 (即使我尝试过,也没有得到地图)
关于事件总线的另一个问题:我在vue应用程序的另一部分中使用了事件总线。 但是我还是很困惑,如果事件总线是双向数据绑定还是仅双向数据绑定? 我的结论是: 仅当两个不相关的组件都存在时,才可以使用全局事件总线在它们之间传递数据。
但是我的问题是: 当我不知道何时将创建/呈现需要接收数据的组件时,如何在两个不相关的组件之间传递日期?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.