props - emit
attrs−listeners
Vue3移除了$listeners(将其合并到了$attrs)
$attrs作为props和emits的候补,可以获取未接收的方法和属性
- 可以通过
v-bind="$attrs"透传所有属性和方法至下一级
- 其本质上还是父子传递,且依赖
v-bind实现透传
parent−refs
- 使用
this.$parent可以获取到父组件,且可以获取出其定义的数据
- 使用
this.$refs可以获取到子组件,且可以获取出其定义的数据
provide - inject
provide和inject可以跨组件通信(上下层级)
provide传递静态数据
export default{
name:'test',
data() {
return {
name:'kang'
}
},
provide:{
info:'hello world'
}
}
export default{
name:'testChild',
inject:['info']
}
export default{
name:'test',
data() {
return {
name:'kang'
}
},
provide:{
info:computed(()=> this.name)
}
}
export default{
name:'testChild',
inject:['info']
}
自定义事件
Vuex