vue.jsを使いある選択肢を選んだ場合に、複数の値を変更したい、という事をやっています。
現状うまく動きません。
input要素で選ばれた値をcomputedの中にifで条件分岐をして、その内容により複数の値を変更しています。
現状の質問としましては
1・computedの戻り値を複数取れると簡単なのに取れないんですが、複数の戻り値って取れないのでしょうか?
2・なので現状はcomputedの戻り値をフックにして、dataのプロパティの書き換えでobjectにしてみてるのですが、html内の{{}}構文でcomputed実行するとオブジェクトが全部表示されてしまいます、実行時に特定の値だけ取得する事は出来ないでしょうか?
3・2のcomputed実行後であれば特定の値を{{}}の構文内で呼び出せます。今の知識での運用上、一度computedを実行した後に値を取り出して表示すれば良いと思っているのですが、computedの実行って{{}}構文内以外に出来ないでしょうか?
cssのhiddenや、html的に意味をなさない箇所で実行も考えましたが、無理くりすぎてきちんと理解したいと思いまして。
4・そもそも、やりたい事に対してこのアプローチは正しいのでしょうか?
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
html
1 2 3<p>{{hogecom}}</p> 4//現状だとここで {hoge1:5000 , hoge2:7 , hoge3:120000} と全部表示されるhogecom.hoge1とするとhogecom実行前なので反応しない 5 6<P>{{hogecom.hoge1}</p> 7//ここで初めて狙ったhoge1の値を表示出来る 8
vue.js
1 2data:{ 3 hoge1:'', 4 hoge2:'', 5 hoge3:'', 6 ob1: { 7 hoge1:5000, 8 hoge2:7, 9 hoge3:120000, 10 }, 11 ob2: { 12 hoge1:77000, 13 hoge2:999, 14 hoge3:650, 15 }, 16 hogeselect:hogeselects 17 18}, 19 20computed:{ 21 hogecom:function() { 22//select1,2はhtml中のインプット要素でユーザーが選択します。 23 if(a==="select1") { 24 return hogeselects = this.ob1 25 26 } 27 if(a==="select2") { 28 return hogeselects = this.ob2 29 30 } 31 32} 33
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/01 22:46
2020/08/03 00:22
2020/08/05 22:51