08 2022 档案
摘要:一、vnode vnode有那些类型?1.文本类型2.注释类型3.组件类型 vnode.$attrs: vnode.$slot:组件占位符包括的子节点,其实就是插槽的内容;组价开始标签和组件结束标签里包裹的内容;注意和vnode.children的区别; vnode.children:普通元素包括的
阅读全文
摘要:<style> .fade-enter-active, .fade-leave-active { transition: opacity 5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> <script> let vm = new
阅读全文
摘要:一、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流程: 规范化
阅读全文