#はじめに
こんにちは!
今回は【Vue.js】getterとsetterについてアウトプットしていきます!
#getterとsetter
・cpmputed(プロパティ)・・・getter,setterが必要
・methods(メソッド)・・・getterのみ必要
getter=dataの値を取り出すのメソッド
setter=dataの値に代入するためのメソッド
#書き方・解説
今回は税抜価格、税込価格の計算を例に解説していきます。
<p>
base price : <input type="text" v-model="basePrice">
</p>
<p>
tax included prie : <input type="text" v-model="taxIncludedPrice">
</p>
data: {
basePrice: 100
},
computed: {
taxIncludedPrice: {
get: function() {
return parseInt(this.basePrice * 1.10)
//⏫整数を返す関数
},
set: function(taxIncludedPrice) {
this.basePrice = Math.ceil(taxIncludedPrice / 1.10)
//⏫小数点以下を切り上げる関数
}
}
}
data
に基準となる数字をdataPrice
入れる。
get
でdataPrice
に税価格をかけたtaxIncludedPrice
を定義。
set
の部分では税込価格taxIncludedPrice
を受け取って税抜価格にする計算を記述。(ここでは同時に小数点以下を切り上げる関数Math.ceil
も記述しています。)それをbase price
に代入しています。
このままではdataPrice
に価格を入力しても、taxIncludedPrice
で税込価格が表示されないので、テンプレートの側に双方向データバインディング(v-model
)を記述します。
#まとめ
・data
に基準となる数字を入れる。
・getでdataの値を取り出し税価格(1.10)をかけ、新たな定義を作る。
・setで新たに定義したものの税を抜いたもの(/1.10)をdataの値に代入する。
#最後に
今回はgetterとsetterについてアウトプットしました。
今回の記事を読んで質問、間違い等あればコメント等頂けると幸いです。
今後ともQiitaにてアウトプットしていきます!
最後までご愛読ありがとうございました!