二、构造函数MyVue
自己动手实践,就会更加深刻的理解
这次的主题:实现构造函数 MyVue。
在上一篇文章中,遗留了以下一些问题:
- 还没有整合成构造函数
- 无法替换形如 name.firstName 的层级属性
- 没有使用虚拟DOM
今天,主要解决一件事,实现构造函数 MyVue,并在其原型上添加 **render, compiler, update **这三个方法。
01、实现构造函数 MyVue
(首先声明,实际的Vue会有所不同)
- 构造函数只能用
new
调用 - 获取到元素和数据
- 调用
render
函数
function MyVue(options) {
if (!this instanceof MyVue) {
console.error('Vue is a constructor and should be called with the `new` keyword')
}
// 内部数据用 _ 开头,只读数据用 $ 开头
this