0
Word Count: 325(words)
Read Count: 1(minutes)
1.一个重要的内置关系:VueComponent.prototype.proto === Vue.prototype
2.为什么要有这个关系:让组件实例对象(vc)可以访问到 Vue原型上的属性、方法。
图示:
vue在vueComponet的原型对象与vue的原型对象中加了一条线
让vc能用到vue原型对象上的诸多优秀方法
一、验证该关系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <script> var school=Vue.extend({ name:"school", template:` <div> <h1>school</h1> </div>`, data(){ return{ hello:"hello" } } }) var vm=new Vue({ el:'#root', components:{school,student} }) console.log("内置关系成立吗",school.prototype.__proto__===Vue.prototype); </script>
|
二、原型链中的解释。
构造函数上的原型属性和 构造器所创建的对象
上的隐式属性所指向的为同一个原型对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
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__) ---->true; Demo.prototype.x = 99
console.log('@',d)
|
二、内置关系的使用
- 全局事件总线