采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
当设新的值的时候,render函数就是图中的updateView函数吗?
updateView() 即触发视图更新。
课程中有讲到 vue 组件的更新渲染过程,这个过程中,render 函数只是生成 vnode ,是一个子过程。
也就是当改变data就会触发updateView(),render函数的执行只是这个updateView()的一部分,可以这样理解吗?不然我无法理解什么时候执行这个render函数。
vue 源码: src/core/instance/lifecycle.js ,$mount过程的时候,会new Watcher 这个watcher就是渲染watcher,内部调用vm._render()方法, 初次渲染 将渲染watcher 进行依赖收集(dep.addsub),然后 数据更新的时候 进行dep.notify()通知 各个watcher 进行更新 也就调用了内部的_render()方法,老师讲的是一个原理流程 第一步做什么 第二步做什么 等等,理解流程了就对vue有一个全面的了解,老师也说了 原理不等于源码 , 你如果要深究细节 触发某个函数的时机在哪 要去看源码
你先不用管源码,流程缕不顺,看源码就越看越麻烦。说白了,updateView 就是 patch,而 render 就是 h 函数,参考 vdom 就好理解了。
登录后可查看更多问答,登录/注册
面向1-3年前端的框架及项目面试“刚需内容”
4.1k 1
2.7k 11
1.3k 11
1.4k 11
1.2k 11