事件总线4?

来源:16-7 Vue事件总线使用案例

慕神4535282

2020-11-05

老师,请教一个问题,原贴到此,
https://coding.imooc.com/learn/questiondetail/210534.html

这个就看个人理解了,我指的是本来两个控件在代码层面上没什么关联,所以用事件总线。

我明白你说的播放器和登录组件在代码层面上没什么关联,但是我不能理解为什么是拿播放器和登录组件来做比较,而不是拿detail.vue和登录组件来做比较,

这样说吧,如果说
detail.vue和登录组件在代码层面上没什么关联,所以用事件总线,因此在detail.vue中新增这一行代码

_this.$event.$emit("openLoginModal", "111");

这个逻辑我能够理解,
但是,如果说,
modal-player.vue和登录组件在代码层面上没什么关联,所以用事件总线,因此在detail.vue中新增这一行代码

_this.$event.$emit("openLoginModal", "111");

这个逻辑我就不能够理解,
因为点击播放小节视频时,判断用户是否需要登录,是否要直接弹出登录窗口,都是detail.vue中要做的事情,整个处理过程跟modal-player.vue没有半点关系,为什么用不用事件总线会牵扯到modal-player.vue呢?

同时,我看到git上新增事件总线的提交,也是只修改到了login.vue, main.js, detail.vue, 代码层面也没涉及到 modal-player.vue.

退一万步来说,如果 deatil.vue中的 modal-player 没做成组件,而是直接在detail.vue中使用的话,这个时候你也是推荐使用事件总线吧,这个时候使用事件总线的根据是什么呢? 这时是看登录组件login.vue跟哪个 xxx.vue在代码层面没什么关联呢?这些我都想不通。
麻烦老师一一回答,谢谢老师解答!!!

,
,

写回答

1回答

甲蛙

2020-11-06

对的,跟播放组件没关系。

应该说detail.vue和login.vue没有代码层面关联,它们没有父子组件关系,所以用事件总线来触发登录。

0
1
慕神4535282
非常感谢!
2020-11-06
共1条回复

Spring Cloud+ Vue前后端分离开发企业级在线视频系统

全网稀缺课程 市场热门项目+主流框架 一课掌握前后端技术

1743 学习 · 1697 问题

查看课程

相似问题