Appearance
将数据渲染到页面
本节目标:理解“将数据渲染到页面”的核心思路,并能把它用于实际开发或面试表达。
我们html模板中使用的数据来自于:Dataprops计算属性当这些数据变化了,我们要更新视图,如何实现? 如何精确更新,即只更新数据发生变化的视图?
如何确定要渲染的内容:render方法:有此方法,不会再编译模板;template:没有render方法,我们看有没有template属性,有就将其编译成render方法;el的outHmtl:如果template也没有,我们就直接使用el元素的outHTML将其作为模板,然后转换为render方法;
所以,new Vue(options)中的options.el元素必须存在,否则页面不会被渲染;在src/index.js下加入renderMixin,给Vue的原型添加页面渲染相关的方法:import { initMixin } from "./init";
import { lifeCycleMixin } from "./lifeCycle";
import { renderMixin } from "./render";
// vue要如何实现,原型模式,所有的功能都通过原型扩展的方式来添加
function Vue(options){
this._init(options); //实现vue的初始化功能
}
initMixin(Vue);
renderMixin(Vue);