前言

Vue中提供了以下几个全局API,供我们来使用,这边做了对应的整理:

Vue公共静态方法

部分静态方法专题介绍

官方上的针对各个静态方法已做了比较详细的解释,这边仅针对其中的一两个进行延伸学习

Vue.observable

让一个对象可响应。Vue内部会用它来处理data函数返回的对象。
返回的对象可以直接用于渲染函数计算属性内,并且会在发生变更时触发相应的更新。也可以作为最小化的跨组件状态存储器,用于简单的场景。
⚠️ 在Vue2.x中,被传入的对象会直接被Vue.observable变更,但其实是属于同一个对象。

🤔 Vue最独特的特性之一,就是其非侵入性的响应式系统,我们普通传递给到组件中的data函数中返回的对象,仅仅是一个普通的js对象而已吖,为什么当
我们修改它的值的时候,对应的页面会发生改变,以及对应的声明周期钩子函数也会发生对应的调整,这个是怎样的一个状态管理机制的呢?

✨ **关于这个机制的实现,采用的是Object.defineProperty**,通过对该静态方法的一个使用,可以对原有对象的属性在发生set赋值操作的时候,
额外调用其他逻辑操作,来满足这个架构的功能实现,通过Object.defineProperty方法,对对象原有属性进行一个存取操作符的一个修改,借助于其他的监听器、
订阅器对象,做到对其中的数据变更时的一个响应,也就是回调的方式。

👉 一切从入口出发:

1
2
3
4
5
6
7
new Vue({
data(){
return {
message: 123
}
}
});

vue入口

initState方法中,通过调用initData(vm)的方式,来对这个data对象进行补充操作。
vue双向绑定的流程

双向绑定的对象关联关系

Vue.use

Vue插件开发,这边之前也有写过相应的学习文档:点我浏览