laravel - Laravel - Vue JS 兄弟组件通信
问题描述
我无法使用 EventBus 技术与 Vue 通信 b/w 组件
Vue.prototype.$eventBus = new Vue(); // Global event bus
const app = new Vue({
el: '#dashboard',
data() {
return {
dailyData: []
}
},
components: {
'latest-feedbacks': LatestFeedbacks,
'feedbacks-overview': FeedbacksOverview,
}
});
在最新反馈.vue
...
created() {
this.$eventBus.$emit('feedbacksChanged');
},
...
在FeedbacksOverview.vue
...
created() {
this.$eventBus.$on('feedbacksChanged', ()=>{
// code
});
},
...
解决方案
您可以使用该$root
实例来访问垂直链之外的组件。
像这样:
created() {
this.$root.$emit('feedbacksChanged');
}
created() {
this.$root.$on('feedbacksChanged', ()=>{
// code
});
}
推荐阅读
- angularjs - 如何将动态角度参数附加到 url?
- python - mypy 错误:赋值中的类型不兼容(表达式的类型为“List[str]”,变量的类型为“str”)
- javafx - 从javafx中的包复制目录
- c# - 将 UI 元素隐藏在其他 UI 元素后面
- linker - 符号迁移
- python - 分析回调到 Python 的 C 扩展
- git - gitlab runner catch 错误:没有匹配的文件
- swift - SceneKit 中的布尔网格减法
- julia - 输出到 Julia 中函数的第一个输入
- gcc - 有没有办法列出在优化级别(比如 -O2)启用的所有 GCC 优化?