为了账号安全,请及时绑定邮箱和手机立即绑定

21天完美搞定Vue框架技术(第1天)

标签:
Vue.js vuex

1、Vue本质上是一个构造函数,只能通过new调用

function Vue (options) {
    // 保证了无法直接通过Vue()去调用,只能通过new的方式去创建实例
    if (!(this instanceof Vue)) {
        warn('Vue is a constructor and should be called with the `new` keyword');
    }
    this._init(options);
}
return Vue;


2、Vue有5个原型属性和方法

init方法(内部方法):initMixin(Vue)

数据相关:stateMixin(Vue)

事件相关:eventsMixin(Vue)

生命周期相关:lifecycleMixin(Vue)

渲染相关:renderMixin(Vue)


3、Vue的静态属性和方法

配置方法:Vue.config()

内部工具方法:Vue.util()

Vue.set()

Vue.delet()

Vue.nextTick()

Vue.use()

Vue.mixin()

扩展子类构造器:Vue.extend()

默认选项:Vue.components,Vue.directive,Vue.filter


4、Vue构造器的默认选项

Vue默认选项会保留在静态的options属性上,有4个默认选项:

components:组件,如keepAlive,transition,transitionGroup的内置组件

directive:指令,如v-model、v-show等

filter:过滤器,没有默认值

_base:返回自身构造器,即Vue.options._base = Vue;


5、实例化Vue做的核心操作便是执行原型上的_init方法进行初始化

初始化包括:选项合并配置,初始化生命周期,初始化事件,初始化数据等。

其中第一步也是很关键的一步就是对选项的合并。

选项合并的本质就是用户自身传递的options选项和Vue构造函数自身的选项配置合并。


6、选项合并过程中需要做规范验证

components规范检验

    注册组件时的检验,例如:组件名不能用html保留的标签(如:img,p),也不能包含非法的字符等。

props规范检验

    数组形式 { props: ['a', 'b', 'c'] },

    对象形式 { props: { a: { type: 'String', default: 'prop校验' } }} 

两种形式最终都会转换成对象的形式

inject规范检验

    依赖注入检验,provide/inject他们是一对组合,作用是后代都能访问到父代注入的数据/方法

directive规范检验

    使用指令时的检验,vue提供了五个钩子函数bind, inserted, update, componentUpdated, unbind


7、子类构造器

Vue提供了一个Vue.extend的静态方法,它是基于基础的Vue构造器创建一个“子类”,而这个子类所传递的选项配置会和父类的选项配置进行合并。


点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消