请稍等 ...
×

采纳答案成功!

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

vm.$el = patch返回值

vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */)

这句是把当前组件patch的返回值赋值给vm.KaTeX parse error: Expected 'EOF', got ',' at position 3: el,̲ 但是每个组件实例的el不应该都存储的是跟节点吗(div#app),看代码意思是每个组件实例的$el都是自己的根节点

正在回答

2回答

ustbhuangyi 2020-05-20 17:49:56

vm.$el 对应的就是组件渲染的子树 vnode 对应的 dom 节点,也就是你说的组件内的根节点,他是在 patch 最后返回的。//img1.sycdn.imooc.com//szimg/5ec4fd4209951a8e07400100.jpg
如果你是问根组件,是外部传入的。

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

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯4295428 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-05-20 18:19:10
提问者 慕斯4295428 2020-05-20 17:45:39
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */)

如上代码子组件实例的$el是当前组件内的跟节点(div.hello),但是vm.$el取得值应该是root节点(div#app),是在哪步做的操作啊?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信