2021-08-03

#v-for 中用key

原理:必须要用key 因为diff算法中根据tag和key来判断是不是同一个samenode

效果:减少渲染次数 提升渲染性能(优化diff算法)

#单组件生命周期()图

#组件通讯(常见)

props $emit

自定义事件 event.$on event.$off event.$emit

vuex

@组件渲染与更新的过程(图)

#组件的data为什么是函数?

.vue编译后实际上是一个class 使用时候只是实例 如果不是函数的话  大家就共用data了

#对MVVM的理解 (图)

#computed 有缓存 提高性能 

#ajax放在那里  mounted 渲染完成 加载完成

#如何把组件所有的props传递给子组件 

方法  v-bind = "$prpos"

如何自己实现一个v-model

子组件里 对象 model {prop: text., event:'change"} 子组件用 :value=text @input=emit change

多组件抽离逻辑

mixin

何时使用异步组件

大组件 路由异步加载(切换路由)

优化性能

何时使用keep-alive

缓存组件 不需要重复渲染

静态tab页面

优化性能

何时用befordestory

解绑自定义事件 event.$off

清除定时器

解绑自定义dom事件 如 window.scroll

什么是作用域插槽

子组件中有data  我们想在父组件中的slot使用data

子组件在slot中用属性  父组件用 v-slot=‘子组件属性’

vuex中action和mutation区别

action中可以处理异步

mutation每次做一个操作

action整个多个mutation集合

VUE如何监听数组变化

首先是不能 重新定义原型 重写push pop (proxy解决)

响应式原理

监听data的变化

组件渲染与更新的流程

DIff算法事件复杂度

从n3 优化n 1.只比较同一级别 2.tag和key不同直接销毁 3.tag和key相同 upadatachildren

diff算法过程(snabbdom中)

patch(el node)patch(node newnode)

patchVnode addVnode removeVnode

updatachildren(key的重要性 判断是不是同一个节点)

Vue为什么是异步渲染  $nexitick有何用

异步渲染(合并data修改 异步渲染 提高性能)

异步渲染 没有直接dom修改拿到dom变化  就是用触发回调里面拿

vue常见性能优化

合理使用 v-show  v-if

合理使用computed

v-for中加key  避免和v-if同时使用

自定义dom事件 自定义事件及时销毁

合理使用异步组件

合理使用keep-alive

data层级不要太深(响应式监听是一次完成的 响应式监听递归次数太多)

使用vue-loader在开发中使用模板编译(预编译)

webpack层面的优化(后面补充)

图片懒加载?

使用ssr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值