質問: this.ob2 } } ```
回答: まず、 FrontEnd_Japanさんも書かれていますが、`data`の記載方法が間違っています。 ご確認ください。 質問に回答します。 ### 1・computedの戻り値を複数取れると簡単なのに取れないんですが、複数の戻り値って取れないのでしょうか? computedはifで条件分けした場合は、必ずelseでのreturnも記載しなければいけません。 computedはdata等に登録された値を参照した値をもとに値を動的に算出する(明示的に呼び出さなくても自動的に算出)ところなので、条件にマッチしなかったからといって何もreturnしないことは用途から外れています。 > > 複数の戻り値って取れないのでしょうか? > > > の意味がよく理解できなかったのですが、 「computedで複数の選択肢の中から特定の値をreturnしたい」 という事でしょうか? それなら下記のように 「"正"または"負"の値をhogeNumberからreturn出来ます。」 ``` data: function() { return { hogeNumber : 1 } } computed:{ OK_Ex:function() { if(hogeNumber >= 0) { return "正" } else { return "負" } }, NG_Ex:function() { if(hogeNumber >= 0) { return "正" } if(hogeNumber < 0) { return "負" } } } ``` ### 2・なので現状はcomputedの戻り値をフックにして、dataのプロパティの書き換えでobjectにしてみてるのですが、html内の{{}}構文でcomputed実行するとオブジェクトが全部表示されてしまいます、実行時に特定の値だけ取得する事は出来ないでしょうか? `computed`と`{{ }}`について誤解されています。 「`{{ }}`で`computed`に登録した**関数**を呼び出して実行している」のではなく、 「`computed`で算出された**値**を`{{ }}`で呼び出している」です。 なので、computedで`OK_EX`のようにきちんと場合分けで出来ていれば、特定の値だけ取得する事は可能です。 ### 3・2のcomputed実行後であれば特定の値を{{}}の構文内で呼び出せます。今の知識での運用上、一度computedを実行した後に値を取り出して表示すれば良いと思っているのですが、computedの実行って{{}}構文内以外に出来ないでしょうか? 先にも書きましたが、computedは「登録された値を参照した値をもとに値を動的に算出」されます。 何度も書きますが、「computedはifで条件分けした場合は、必ずelseでのreturnも記載しなければいけません。」を守ってください。 ### 4・そもそも、やりたい事に対してこのアプローチは正しいのでしょうか? 例えば、 「数字を入力するフォームがあって、入力された値と5の四則演算を求めたい」 ならば、今回のアプローチは間違ってはいないと思います。