摘要:
一、keep-live内置组件在什么时候注册的? 在加载Vue类的时候,会引入src/core/index.js文件,然后这里会引调用nitGlobalAPI方法; builtInComponents变量就是KeepAlive内置组件;所以这个方法主要是把内置组件keep-live扩展到Vue.op 阅读全文
摘要:
1.前言:插槽的一些功能: 如果在使用组件时,没有在组件开始标签和组件结束标签插入任何内容,那么将会使用组件的默认插槽; 如果在使用组件时,在组件开始标签和组件结束标签插入了内容,但是一个不带 name 的 <slot> 出口会带有隐含的名字“default”,所以还是会使用组件的默认插槽; 2.6 阅读全文
摘要:
1.v-mode既可以用在表单控件上比如input、selet、textarea、checkbox, 也可以用在组件上; 举例: let vm = new Vue({ el: '#app', template: '<div>' + '<input v-model="message" placehol 阅读全文
摘要:
基础不扎实,这是最简单的问题了。 if、else、else If都是一样的,只要命中了一个,其他的不管是啥都不会走了,判断直接就结束了。想想流程图的判断框; 这里,命中了e 1,然后答应log(111), 整个判断就结束了,不会再去判断e是否还等于2; 因为这个是if和else if,只有e不等于1 阅读全文
摘要:
let Child = { template: '<button @click="clickHandler($event)">' + 'click me' + '</button>', methods: { clickHandler(e) { console.log('Button clicked! 阅读全文
摘要:
。。。 阅读全文
摘要:
ast树是一个js对象,ast树是对模板的一种描述; 类似于vnode是对真实dom的一种描述, ast树是对模板的一种描述; 注意: 我们调试代码时,除了debugger还有consolelog即clog方式;简单的代码可能就直接clog调试了。 但是有个问题,比如说我们在const ast = 阅读全文
摘要:
注意: 我们调试代码时,除了debugger还有consolelog即clog方式;简单的代码可能就直接clog调试了。 但是有个问题,比如说我们在const ast = parse(template.trim(), options)代码后,打印ast 但是clog一个引用数据类型,在后续optim 阅读全文
摘要:
src文件夹下的compile模块是公用的, 所以我们通过给createCompiler传递不同的base_options可以获取不同的compile函数; 这就是函数柯里化; 比如一个函数a本来需要接收5个参数,然后a函数先接收1个参数,然后返回一个子函数b,我们使用b函数的时候,再把剩下的4 个 阅读全文
摘要:
props主要三大块, 规范化的流程, 初始化的流程, 子组件两次不同更新的流程 一、props的规范化 1.1概念:规范化只是格式上的规范化,确保我们的props是一个对象,对象的key的value又是一个对象; 后续会在props的初始化里进行props语法正确与否的校验; 1.2流程: 规范化 阅读全文