Vue2 - 23-03-23

First Post:

Last Update:

Vue2 - 23-03-23

VueComponent

  • 每次调用Vue.extend都会返回一个全新的VueComponent
  • VueComponent的this指的是VueComponent本身
  • VueComponent拥有VM的大部分东西,注册了VC的VM身上有着children
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!-- 如果标签没有应用的话,开发者工具、vm都不会有他-->
    <!-- <test></test> -->

    const test = Vue.extend({
    template:`
    <div>测试</div>
    `,
    })

    components:{
    test
    }

解开注释

重要的内置关系

前置知识:原型相关的知识
说白了,原型就相当于Java中的类,类实例化出来的对象中有__proto__,指向原型的各种属性prototype,所以才会有xx.__proto__ === XX.prototype
XX.prototype = value相当于给类添加一个私有属性

内置关系:VueComponent.prototype.__proto__ == Vue.prototype

1
2
3
4
5
6
7
8
9
//前置知识:原型对象
function Demo(){
this.a = 1;
this.b = 2;
};
const d = new Demo();
console.log(Demo.prototype);//显示原型属性
console.log(d.__proto__);//隐形原型属性
console.log(Demo.prototype === d.__proto__);

但是有个东西还没搞懂:VueComponent与VueComponent实例、函数与原型对象之间的关系,明天更新