Vue基础

如何实现组件通信

父子通信

  1. props & emit
  2. v-model
  3. sync
  4. children

兄弟通信

  1. this.children

通用方法

  1. vuex
  2. event Bus
  3. 注入依赖(service)

mixins

用途

扩展组件的常用方式。
例如多个组件有相同的逻辑时,可以将这个逻辑提取出来,作为一个混入对象(mixins)

选项合并

data:递归合并,组件优先
钩子函数:合并为一个数组,mixins提前调用
methods、components、directives:混合合并,组件的key优先

computed & watch的区别

区别:

computed是计算属性,有缓存机制
watch:监听数据变化

keep-alive组件有什么作用

缓存组件状态,提高性能优化

v-show和v-if的区别

v-show:对css的display操作,会渲染出dom,适合操作频繁的场景
v-if:直接渲染/销毁dom,适合操作不频繁的场景

为什么data是一个函数,而不是一个对象

因为组件复用的时候,data如果是一个对象的话,引用的数据是相同的(内存地址一致)。这是我们不希望的。使用函数,返回一个新的对象,则可以把这个问题给避免掉。

你可能感兴趣的:(Vue基础)