请稍等 ...
×

采纳答案成功!

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

老师有个问题一直不太明白,在更新渲染时触发render函数的时机在哪里,具体看截图。

图片描述
当设新的值的时候,render函数就是图中的updateView函数吗?

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

1回答

双越 2020-03-06 08:56:19

updateView() 即触发视图更新。

课程中有讲到 vue 组件的更新渲染过程,这个过程中,render 函数只是生成 vnode ,是一个子过程。

0 回复 有任何疑惑可以回复我~
  • 提问者 前端沙雕 #1
    也就是当改变data就会触发updateView(),render函数的执行只是这个updateView()的一部分,可以这样理解吗?不然我无法理解什么时候执行这个render函数。
    回复 有任何疑惑可以回复我~ 2020-03-06 10:17:59
  • fy000 回复 提问者 前端沙雕 #2
    vue 源码: src/core/instance/lifecycle.js ,$mount过程的时候,会new Watcher 这个watcher就是渲染watcher,内部调用vm._render()方法, 初次渲染 将渲染watcher 进行依赖收集(dep.addsub),然后 数据更新的时候 进行dep.notify()通知 各个watcher 进行更新 也就调用了内部的_render()方法,老师讲的是一个原理流程 第一步做什么 第二步做什么 等等,理解流程了就对vue有一个全面的了解,老师也说了 原理不等于源码 , 你如果要深究细节 触发某个函数的时机在哪  要去看源码
    回复 有任何疑惑可以回复我~ 2020-03-06 14:14:33
  • 双越 回复 fy000 #3
    你先不用管源码,流程缕不顺,看源码就越看越麻烦。说白了,updateView 就是 patch,而 render 就是 h 函数,参考 vdom 就好理解了。
    回复 有任何疑惑可以回复我~ 2020-03-06 21:52:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信