在 Vue 中,computed
的屬性跟 data
的屬性可以視為相同,可以讀取值與設定值,所以可以分成 getter
(讀取) 跟 setter
(寫入) 兩種。
在預設的狀態下,因為沒有特別設定 setter
,所以會被視為唯讀的狀態,不過 Vue 允許開發者自行設定 setter
,在 computed 屬性被更新後,原本在 data
內的資料也會被寫回更新。
寫一個雙向匯率計算機
延續上一篇 Vue 筆記 - computed 與 methods 的差別的匯率計算機,這次透過 getter
與 setter
的資料更新,將其內容更新,做到雙向的資料呈現。
HTML
將原本的計算機結構做修改,變成有兩個 input,要做為不同幣值的轉換輸入框。
1 | <div id="app"> |
Vue
- 在原本的計算中加入
get()
與set()
兩個函式。 get()
讀取值的函式中回傳的方法是跟之前一樣。set()
的方法為把原本的得到的值,透過重新寫入的方式,回傳給台幣。- 因為台幣比日幣大,計算時就要變成除日幣匯率,才會正確的讓兩個輸入框的值顯示結果為正確。
1 | const vm = new Vue({ |