🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Q&A

1回答

775閲覧

vueのdataをmethodから一括で変更する方法

jeq

総合スコア17

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

0グッド

0クリップ

投稿2021/03/12 03:37

実行したいこと

一つをtrueにしたとき、他の全部をfalseに切り替えたい

vue

1data: { 2 active: "apple", 3 fruit: { 4 apple: true, 5 banana: false, 6 peach: false, 7 } 8}

vue

1methods: { 2 switchCaseNav: function (button) { 3 switch(this.active){ 4 case 'apple' : 5 this.fruit.apple = true; 6 this.fruit.banana = false; 7 this.fruit.peach = true; 8 break; 9 case 'banana' : 10 this.fruit.apple = false; 11 this.fruit.banana = true; 12 this.fruit.peach = false; 13 break; 14 case 'peach' : 15 this.fruit.apple = false; 16 this.fruit.banana = false; 17 this.fruit.peach = true; 18 break; 19 default : 20 this.fruit.apple = true; 21 this.fruit.banana = false; 22 this.fruit.peach = true; 23 break; 24 } 25 } 26 }, 27

例:
bananaをtrueにしたとき、
他のすべてがfalseになるようにしたい

困っていること

現状のmethodでは、dataの数を増やせば増やすほど、
条件を書き足す必要がでてきます。

そのため、一括ですべてをfalseに切り替えた後、
該当のアイテムだけをtrueにする方法
があれば、
と考えています。

簡単な内容で恐縮ですが、
ご回答いただけますと助かります。

よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

for...in でループ回せばいいんじゃないかと思いました。
for...in - JavaScript | MDN

投稿2021/03/12 04:35

Lhankor_Mhy

総合スコア36946

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問