闪烁之狐
单页应用首屏加载速度慢的怎么解决? 单页应用首屏加载速度慢的怎么解决?
使用路由懒加载、异步组件,实现组件拆分,减少入口文件体积大小,优化体验骨架屏 抽离公共代码,采用 splitChunks 进行代码分割。 组件加载采用按需加载的方式。 静态资源缓存,采用 HTTP 缓存 (强制缓存、对比缓存)、使用 lo
2024-05-11
Vue中的性能优化有哪些 Vue中的性能优化有哪些
Vue2 中数据层级不易过深,(会数据劫持每一层都增加getter和setter).合理设置响应式数据; Vue2 非响应式数据可以通过 Object.freeze()方法冻结属性; Vue2 中采用函数式组件 -> 函数式组件开销
2024-05-11
函数组件的优势 函数组件的优势
函数式组件是一种定义自身没有任何状态的组件的方式。它们很像纯函数:接收 props,返回 vnodes。函数式组件在渲染过程中不会创建组件实例 (也就是说,没有 this),也不会触发常规的组件生命周期钩子。 在 Vue2 正常组件是通
2024-05-11
Vue.set方法是如何实现的 Vue.set方法是如何实现的
Vue2 不允许在已经创建的实例上动态添加新的响应式属性。所以采用 set API 来进行实现。 export function set(targetx, key, val) { // 1.是开发环境 target 没定义或者
2024-03-28
Vue组件中的data为什么必须是函数 Vue组件中的data为什么必须是函数
根实例对象data可以是对象也可以是函数“单例”,不会产生数据污染情况 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间共用一个data,产生数据污染。所以需要通过工厂函数返回全新的 data 作为组件的数据源 fun
2024-03-28
Vue.extend方法的作用 Vue.extend方法的作用
1.1 Vue.extend 概念使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。 data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数 var Profile = Vue.extend
2024-03-28
说说你对双向绑定的理解,以及它的实现原理吗 说说你对双向绑定的理解,以及它的实现原理吗
1.1 双向绑定的概念vue 中双向绑定靠的是指令 v-model,可以绑定一个动态值到视图上,同时修改视图能改变数据对应的值(能修改的视图就是表单组件) 经常会听到一句话:v-model 是 value + input 的语法糖。 v-m
2024-03-27
Vue.use是干什么的 Vue.use是干什么的
.1 use 概念安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入,这样插件中就不在需要依赖 Vue
2024-03-27
Vue.mixin的使用场景和原理 Vue.mixin的使用场景和原理
1.1 Vue.mixin 概念mixin 可以用来扩展组件,将公共逻辑进行抽离。在需要该逻辑时进行“混入”,采用策略模式针对不同的属性进行合并。如果混入的数据和本身组件中的数据冲突,会采用“就近原则”以组件的数据为准。 mixin 中有
2024-03-27
说是vue的声明周期 说是vue的声明周期
1.1 Vue2 中的生命周期主要的生命周期有:创建前后, 挂载前后, 更新前后, 销毁前后 beforeCreate 初始化父子关系及事件,数据观测(data observer) 之前被调用。用此方法一般编写插件的时候会用到。 crea
2024-03-26
v-once的使用场景有哪些 v-once的使用场景有哪些
v-once 是 Vue 中内置指令,只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。核心实现原理是利用缓存 <!-- 单个元素 --> <span v-
2024-03-25
v-if和v-for哪个优先级更高 v-if和v-for哪个优先级更高
同时使用 v-if 和 v-for 是不推荐的,因为这样二者的优先级不明显。 在 Vue3 中 v-if 的优先级高于 v-for,这意味着 v-if 的条件将无法访问到 v-for 作用域内定义的变量别名: <!-- 这会
2024-03-25
1 / 3