Vu2之使用provide與inject調用方法案例
文章目錄
- Vu2之使用provide與inject調用方法案例
- 1. 祖先組件使用provide提供方法
- 2. 后代組件使用inject注入并調用方法
在Vue 2中,
provide
和inject
是用于在組件之間傳遞數據的一種高級技術。雖然它們通常用于傳遞數據,但也可以用于傳遞方法。
1. 祖先組件使用provide提供方法
在
Parent.vue
中通過provide
提供方法
// Parent.vue
export default {data() {return {message: 'hello,父組件中的方法被執行了',};},methods: {sayHello() {console.log(this.message);},},//注意:提供方式時provide是一個函數,且將調用的方法寫在return對象中,而提供方法時provide是一對象provide() {return {callParentMethod: this.sayHello // 提供方法,注意提供的方法要寫在return對象中};},
};
2. 后代組件使用inject注入并調用方法
在后代組件
Child.vue
中使用inject
來獲取父組件提供的方法
export default {inject: ['callParentMethod'], // 注入方法mounted() {this.callParentMethod(); // 調用注入的方法},
};