page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6244 次

3096 个回答

0 赞同

Vue2.x和Vue3.x渲染器的diff算法分别说一下?

由于在浏览器中操作DOM是很昂贵的。频繁的操作DOM,会产生一定的性能问题。这就是虚拟Dom的产生原因。Vue2的Virtual DOM借鉴了开源库snabbdom的实现。 Virtual DOM本质就是用一个原生的JS对象去描述一个DOM节点。是对真实DOM的一层抽象。(也就是源码中的VNode类,它定义在 src/core/vdom/vnode.js中。) VirtualDOM映射到...

回答于 2021-12-27 16:35

0 赞同

说一下虚拟Dom以及key属性的作用?

由于在浏览器中操作DOM是很昂贵的。频繁的操作DOM,会产生一定的性能问题。这就是虚拟Dom的产生原因。Vue2的Virtual DOM借鉴了开源库snabbdom的实现。 Virtual DOM本质就是用一个原生的JS对象去描述一个DOM节点。是对真实DOM的一层抽象。(也就是源码中的VNode类,它定义在src/core/vdom/vnode.js中。) VirtualDOM映射到真...

回答于 2021-12-27 16:34

0 赞同

Vue模版编译原理知道吗,能简单说一下吗?

简单说,Vue的编译过程就是将template转化为render函数的过程。会经历以下阶段: 生成AST树 优化 codegen 首先解析模版,生成AST语法树(一种用JavaScript对象的形式来描述整个模板)。 使用大量的正则表达式对模板进行解析,遇到标签、文本的时候都会执行对应的钩子进行相关处理。 Vue的数据是响应式的,但其实模板中...

回答于 2021-12-27 16:31

0 赞同

keep-alive了解吗?

keep-alive可以实现组件缓存,当组件切换时不会对当前组件进行卸载。 常用的两个属性include/exclude,允许组件有条件的进行缓存。 两个生命周期activated/deactivated,用来得知当前组件是否处于 活跃状态。 keep-alive的中还运用了LRU(Least Recently Used)算法。 (又是数据结构与算法,原来算法在前端也有这么多的...

回答于 2021-12-27 16:24

0 赞同

Vue2.x组件通信有哪些方式?

父子组件通信 父->子props,子->父 on、on、emit 获取父子组件实例 parent、parent、children Ref 获取实例的方式调用组件的属性或者方法 Provide、inject 官方不推荐使用,但是写组件库时很常用 兄弟组件通信 Event Bus 实现跨组件通信 Vue.prototype.$bus = new Vue Vuex 跨级组件通信 Vuex attrs、attrs...

回答于 2021-12-27 16:15

0 赞同

computed 的实现原理?

computed 本质是一个惰性求值的观察者。 computed 内部实现了一个惰性的 watcher,也就是 computed watcher,computed watcher 不会立刻求值,同时持有一个 dep 实例。 内部通过 this.dirty 属性标记计算属性是否需要重新求值。当 computed 的依赖状态发生改变时,就会通知这个惰性的 watcher,computed watcher 通过 this.de...

回答于 2021-12-27 16:13

0 赞同

vue中子组件调用父组件的方法?

第一种方法是直接在子组件中通过this. 第二种方法是在子组件里用emit向父组件触发一个事件,父组件监听这个事件就行了。 第三种都可以实现子组件调用父组件的方法, Vue面试题 parent.event来调用父组件的方法

回答于 2021-12-25 14:25

0 赞同

vue中 keep-alive 组件的作用?

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。 <keep-alive> <component> <!-- 该组件将被缓存! --> </component></keep-alive>如果只想 router-view 里面某个组件被缓存export default [ { path: '/', name: 'home', component: Home, meta: { keepAl...

回答于 2021-12-25 14:18

0 赞同

vue等单页面应用优缺点?

优点 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。 数据驱动 组件化 轻量 简洁 高效 模块友好 页面切换快 缺点 不支持低版本的浏览器,最低只支持到IE9; 不利于SEO的优化(如果要支持SEO,建议通过服务端来进行渲染组件); 首屏加载耗时相对长一些...

回答于 2021-12-25 14:07

0 赞同

Vue 如何去除url中的 #?

vue-router默认使用hash模式,所以在路由加载的时候,项目中的url会自带#。如果不想使用#, 可以使用vue-router的另一种模式history new Router({  mode: 'history',  routes: [ ] }) 需要注意的是,当我们启用 history 模式的时候,由于我们的项目是一个单页面应用,所以在路由跳转的时候,就会出现访问不到静态资源...

回答于 2021-12-25 14:06