如何实现组件通信
父子通信
- props & emit
- v-model
- sync
- children
兄弟通信
- this.children
通用方法
- vuex
- event Bus
- 注入依赖(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如果是一个对象的话,引用的数据是相同的(内存地址一致)。这是我们不希望的。使用函数,返回一个新的对象,则可以把这个问题给避免掉。
网友评论