Vue入門--第五天--provide/inject
Vue-provide-inject
子元件要改變父元件的資料
父元件中
provide(){
return {
themName: this.themName
};
},
data(){
return {
themName: "blue",
fontSize: "normal"
};
},
上面的provide就把themName提供給別人了,不過themName是字串,不是物件陣列這些提供引用,外面改了是沒有用的,因為是提供了複製的字串。
子元件中
inject: ["themName"],
就能使用這個themName了。
要改變這個值,就從父元件傳遞函式就好了。
父元件中
provide(){
return {
themName: this.themName,
changeTheme: this.changeTheme
};
},
data(){
return {
themName: "blue",
fontSize: "normal"
};
},
methods: {
changeTheme(){
if(this.themeName === 'blue'){
this.themeName = 'red'
}else {
this.themeName = 'blue'
}
},
}
子元件中
inject: ["themName", "changeTheme"],
子元件中就可以在methods
中使用
methods: {
x(){
this.changeTheme()
}
}
通過this
來呼叫,然後通過傳遞過來的函式,來改變父元件中的data
資料。
總結
provide
和inject
作用:大範圍的data
和method
共用
注意:值和改變值的方法都要傳遞過去。
引用(物件,陣列)可以傳過去,直接不用方法改父元件的資料,但是感覺不規範,不用傳方法就可以改變了,很容易不知道資料在哪被改變。
相關文章
- [Vue] Provide and Inject Global StorageVueIDE
- provide/injectIDE
- 淺談vue中provide和inject 用法VueIDE
- 元件通訊 provide inject元件IDE
- VueUse 是怎麼封裝Vue3 Provide/Inject 的?Vue封裝IDE
- 元件間通訊provide和inject元件IDE
- vue 3 學習筆記 (八)——provide 和 inject 用法及原理Vue筆記IDE
- Vue.js 原始碼學習五 —— provide 和 inject 學習Vue.js原始碼IDE
- provide 和 inject 實現祖先與後代的通訊IDE
- 面試官:來談談Vue3的provide和inject實現多級傳遞的原理面試VueIDE
- Vue 折騰記 - (18) 用Vue的Inject Provide結合Event Bus來實現區域性的狀態維護VueIDE
- 劍走偏鋒之Vue元件通訊(二)——利用provide / inject屬性構建全域性狀態管理Vue元件IDE
- 059、Vue3+TypeScript基礎,頁面通訊之父元件provide資料,子孫元件用inject直接使用VueTypeScript元件IDE
- VUE入門Vue
- vue教程-vue入門Vue
- Vue入門——Vue的核心Vue
- VUE - MVVM - part13 - inject & 總結VueMVVM
- Vue快速入門Vue
- vue入門文章Vue
- vue入門教程Vue
- Vue 入門指南Vue
- Vue入門指南(快速上手vue)Vue
- Vue入門淺析Vue
- Vue 3入門指南Vue
- Vue快速入門(二)Vue
- 前端-vue入門案例前端Vue
- Vue簡單入門Vue
- Vue入門學習Vue
- vue入門筆記Vue筆記
- parcel+vue入門Vue
- vue 入門總結Vue
- Vue入門(三)Vue生命週期Vue
- vue 快速入門 系列 —— vue-routerVue
- Vue-vue基礎快速入門Vue
- vue 快速入門 系列 —— vue loader 上Vue
- vue 快速入門 系列 —— vue loader 下Vue
- Vue入門到關門之元件Vue元件
- Vue入門到關門之Vue介紹與使用Vue