美文网首页
21天完美搞定Vue框架技术(第1天)

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

作者: 有鱼是只猫 | 来源:发表于2020-02-19 18:14 被阅读0次

    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构造器创建一个“子类”,而这个子类所传递的选项配置会和父类的选项配置进行合并。

    相关文章

      网友评论

          本文标题:21天完美搞定Vue框架技术(第1天)

          本文链接:https://www.haomeiwen.com/subject/tytzfhtx.html