摘要: Vnode 是 JavaScript 对象,Vnode 表示 Virtual DOM,用 JavaScript 对象来描述真实的DOM把 DOM 标签,属性,内容都变成对象的属性。就像使用 JavaScript 对象对一种动物进行说明一样{name: 'Hello Kitty', age: 1, c 阅读全文
posted @ 2023-06-28 18:23 jialiangzai 阅读(363) 评论(0) 推荐(0)
摘要: 单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的Web 应用,它将所有的活动局限于一个 Web 页面中,仅在该 Web 页面初始化时加载相应的 HTML、JavaScript 和CSS,一旦页面加载完成了,SPA 不会因为用户的操作而进行页面的重新 阅读全文
posted @ 2023-06-28 14:05 jialiangzai 阅读(68) 评论(0) 推荐(0)
摘要: 在组件中将 comments 选项设置为 true ... 阅读全文
posted @ 2023-06-28 13:16 jialiangzai 阅读(36) 评论(0) 推荐(0)
摘要: 简而言之,就是先转化成 AST 树,再得到的 render 函数返回 Vnode(Vue 的虚拟DOM节点)1、首先通过 compile 编译器把 template 编译成 AST 语法树(abstract syntax tree 即源代码的抽象语法结构的树状表现形式),compile 是 crea 阅读全文
posted @ 2023-06-28 13:11 jialiangzai 阅读(66) 评论(0) 推荐(0)
摘要: 当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素,key 的作用主要是为了高效的更新虚拟 DOM 阅读全文
posted @ 2023-06-28 10:40 jialiangzai 阅读(77) 评论(0) 推荐(0)
摘要: 不能同名,因为不管是 computed 属性名还是 data 数据名还是 props 数据名都会被挂载在vm实例上,因此这三个都不能同名 if (key in vm.$data) { warn(`The computed property "${key}" is already defined in 阅读全文
posted @ 2023-06-28 10:36 jialiangzai 阅读(162) 评论(0) 推荐(0)
摘要: 1、errorCaptured 是组件内部钩子,当捕获一个来自子孙组件的错误时被调用,接收error、vm、info 三个参数,return false 后可以阻止错误继续向上抛出 2、errorHandler 为全局钩子,使用 Vue.config.errorHandler 配置,接收参数与err 阅读全文
posted @ 2023-06-28 10:22 jialiangzai 阅读(104) 评论(0) 推荐(0)
摘要: 有两种方法可以监听路由参数的变化,但是只能用在包含的组件内。第一种 watch: { '$route'(to, from) { // 在此处监听 }, },第二种 beforeRouteUpdate (to, from, next) { //这里监听 } 阅读全文
posted @ 2023-06-28 10:07 jialiangzai 阅读(128) 评论(0) 推荐(0)
摘要: 1、项目使用 keep-alive 时,可搭配组件 name 进行缓存过滤 2、DOM 做递归组件时需要调用自身 name 3、vue-devtools 调试工具里显示的组见名称是由 vue 中组件 name 决定的 阅读全文
posted @ 2023-06-28 10:05 jialiangzai 阅读(84) 评论(0) 推荐(0)
摘要: Vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。1、需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,都加上setter 和 阅读全文
posted @ 2023-06-28 09:59 jialiangzai 阅读(103) 评论(0) 推荐(0)