兄弟組件,隔代組件傳值很麻煩,方法雖然多,但都各有缺點。
vuex: 適合數據量大,並且函數集中處理。
bus:適合數據雖少,卻不得不用的時候,維護困難。
root:這兒指將值掛在root組件上,需要的組件都到root上去取。
有時候數據量不多,覺得引入vuex又使得項目變得沉重,使用全局bus又顯得不好維護,使用跟組件更是感覺跟理念不符合。
store:這就是介紹的簡單方法。詳細如下
需了解: 1、import 引入文件是引用的地址,並不是將數據復制一份,就是說該變了數據后,原文件的數據會發生變化。可以利用這個特性來傳遞數據。
2、data里掛載的數據是動態綁定的。
3、引入的一定是個對象。
1 // store.js 2 export default { 3 a: 1, 4 b(val) { 5 console.log(val) 6 } 7 }
// 需要使用公用數據的 組件
import store from './store.js' export default { data() { return { store } }, }
store里的方法可以當methods里面的方法使用。任何組件改變了store里的值,所有組件store里的值都會發生改變。