Vue3 Provide 注入多个方法:简化组件通信
在 Vue3 中,可以通过 provide 方法来注入多个方法。可以使用对象的方式来提供多个方法,如下所示:
// 定义一个对象,包含多个方法
const myMethods = {
method1() {
console.log('method1')
},
method2() {
console.log('method2')
}
}
// 在父组件中使用 provide 方法提供 myMethods 对象
export default {
provide() {
return {
myMethods
}
}
}
在子组件中,可以使用 inject 方法来获取 myMethods 对象,并访问其中的方法,如下所示:
// 在子组件中使用 inject 方法获取 myMethods 对象
export default {
inject: ['myMethods'],
mounted() {
// 调用 myMethods 对象中的 method1 方法
this.myMethods.method1()
// 调用 myMethods 对象中的 method2 方法
this.myMethods.method2()
}
}
注意,在子组件中使用 inject 方法获取到的对象是只读的,不能修改其中的属性和方法。如果需要修改,可以在子组件中复制一份对象,并在复制的对象上进行操作。
原文地址: https://www.cveoy.top/t/topic/nw79 著作权归作者所有。请勿转载和采集!