質問内容
Vue.js3の勉強をしていて、サンプルコードでわからないことがあったので質問させてください。
算術プロパティでgetter, setterを使用し、
コンポーネントで使用するというサンプルなのですが、
下記ソースコードにて、
get()メソッドの の戻り値が、set()メソッドの引数に入る理由がわかりません。
var item = get() { return this.vel * 2} set(item) { ~~ }
このように書くのなら理解できるのですが、
サンプルでは、自分でvalueという変数の用意をしていません。
valueにget()の戻り値がセットされるのは、どのタイミングなのでしょうか?
処理の流れと理由が知りたいです。
また、aの値を更新した場合、bの値も更新されることは理解できるのですが、
bの値を更新した場合、aの値が更新できる理由がわかりません。
処理が戻っているのでしょうか?
それとも、this.valが更新されたため、処理全体を再実行しているのでしょうか?
粗末な文章となってしまい大変申し訳ないのですが、これ以上の表現が思い浮かびませんでした。。
ご教授いただけますと幸いです、よろしくお願いいたします。
該当のソースコード
vue
1<script> 2export default { 3 name: 'HelloWorld', 4 props: { 5 title: String, 6 }, 7 data() { 8 return { 9 message: '算術プロパティの利用。', 10 val: 0, 11 } 12 }, 13 computed: { 14 a: { 15 get() { 16 return this.val * 2 17 }, 18 set(value) { 19 this.val = Math.floor(value / 2) 20 }, 21 }, 22 b: { 23 get() { 24 return this.val * this.val 25 }, 26 set(value) { 27 this.val = Math.floor(Math.sqrt(value)) 28 }, 29 }, 30 }, 31 created() { 32 this.val = 10 33 }, 34} 35</script>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/06 10:54
2021/05/06 10:56
2021/05/08 13:29 編集
2021/05/08 13:35
2021/05/08 13:36
2021/05/08 13:42
2021/05/15 14:39 編集