iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0

更新器mutations:
今天來聊聊 Vuex 中的更新器mutations。

首先,我們可以把 Vuex 想像成一個超大倉庫,裡面儲存了我們整個應用程式的資料。而 mutations 就像是倉庫管理員,他負責處理倉庫裡的貨物,讓我們可以安全地進行修改或更新。
舉個例子來說,假如有一個簡單的購物車應用程式,需要一個方法來將商品加入到購物車中:

mutations: {
  addToCart(state, product) {
    state.cart.push(product);
  }
}

這段程式碼中,定義了一個 mutation 叫做 addToCart,它接收兩個參數,state 代表狀態機的state,在更新器中可以直接讀取或更新狀態的資料,product 則是定義使用更新器時,外部帶入的參數,在這個例子中,就等於我們要加入的商品。在這個例子中,把商品加到購物車的清單中。
接下來,可以呼叫這個 mutation:

methods: {
  addToCart(product) {
    this.$store.commit('addToCart', product);
  }
}

這樣,當使用者在介面上點擊加入購物車按鈕時,就會呼叫這個方法,並觸發 addToCart mutation。

總結來說,mutations 是用來修改或更新 Vuex 倉庫中的狀態資料的方法,它們負責處理倉庫中的資料變動,讓我們可以安全地進行修改。


上一篇
Day28 state 狀態資料
下一篇
Day30 Actions異步處理動作
系列文
學習網頁前端基本的技術,包含如何使用HTML標籤跟CSS做出基本的網頁版型,了解bootstrap template如何建置網頁架構。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言