请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为啥$root用不了

不想再引入一个vue实例对象,直接用this.$root来做自定事件绑定,为啥触发不了,求老师帮忙解答下

正在回答 回答被采纳积分+3

2回答

提问者 qq_QVQ_1 2020-04-01 09:33:40

后面我用一个你介绍的方法新实例化一个vue对象来把自定义事件挂到上面也触发不了,,,这样写可以吗老师https://img1.sycdn.imooc.com//szimg/5e83ef670963c0b108210743.jpg

0 回复 有任何疑惑可以回复我~
提问者 qq_QVQ_1 2020-03-31 23:17:21

https://img1.sycdn.imooc.com//szimg/5e835eea0913f57707470733.jpg

类似这样的写法

0 回复 有任何疑惑可以回复我~
  • 双越 #1
    在每次 $on 和 $emit 时,看看 this.$root 是不是同一个。据 Vue 文档说 “当前组件树的根 Vue 实例。如果当前实例没有父实例,此实例将会是其自己。”。
    
    另外,建议使用单独的 event (无论是 Vue 实例还是专业的 eventBus)来作为自定义事件的绑定和触发,这样更简单。
    回复 有任何疑惑可以回复我~ 2020-04-01 09:16:25
  • 提问者 qq_QVQ_1 回复 双越 #2
    我在emit自定义事件和Mounted的时候在控制台打印了this.$root,好像就是vue的实例对象而且是同一个
    回复 有任何疑惑可以回复我~ 2020-04-01 09:25:53
  • 双越 回复 提问者 qq_QVQ_1 #3
    那这就不好调试了。建议直接用独立的 event 吧,可以绕过这个问题。
    回复 有任何疑惑可以回复我~ 2020-04-01 18:15:08
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号