Vue高级特性
- 自定义v-model 案例:颜色选择器
- $nextTick
- vue是异步渲染、data改变后,DOM不会立即渲染,$nextTick会在DOM渲染后被触发
- 页面渲染时,会将data的修改整合,多次data修改只会渲染一次
- slot插槽
- 动态组件:当不能确定渲染哪几个组件时,可以用动态组件
- 异步加载组件
- 大组件:echarts 使用import()函数,按需加载
- 头部 import加载
- 在组件中:components{
FormDemo: ()=> import('../FormDemo')
}
- keep-alive缓存组件
- 缓存组件,Tab页,频繁切换,不需要重复渲染
- mounted只执行一次, 不会销毁
- 多了两个生命周期:activated deactivated
- keep-alive是 vue内置的组件,通过vue本身的机制
- v-show缓存,是通过css display:none
- mixin混入
- 多个组件有相同的逻辑,抽离出来
- mixin并不完美,会有一些问题, Vue3提出的CompositionAPI可以解决这些问题
- mixin存在的问题:
- 对象来源不明确,容易造成混乱
- 多个mixin会造成命名冲突,data中的属性
- mixin和组件可能出现多对多的关系,复杂度较高