provide 和 inject 主要在开发高阶插件/组件库时使用。并不推荐用于普通应用程序代码中!!!
这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。
示例:
父组件
export default{
provide() {
return {
demo: this.demo,
};
},
data(){
return{
}
},
methods:{
demo(){
console.log('parentDemo')
}
}
}
子组件
export default{
inject: ["demo"],
data(){
return{
}
},
mounted() {
this.demo();//parentDemo
},
methods:{
}
}
参考:
vue-API