質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1188閲覧

Vue.jsに関する質問です。

stack-overflow

総合スコア29

Vue.js

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/10/20 02:05

Vue.jsに関する質問です。
現在、Vue.jsのドキュメントをみながら、
下記のようなdataの中に複数のオブジェクトがある場合に、
v-forで表示させるものを作成しております。

html

1<div id="view"> 2 <div v-for="hoge in hoges"> 3 <p>{{ hoge.id }}</p> 4 <p>{{ hoge.count }}</p> 5 </div> 6</div>

javascript

1var view_model = new Vue({ 2 el: '#view', 3 data: { 4 hoges: [ 5 { 6 id: 'id_01', 7 count: 5 8 }, 9 { 10 id: 'id_02', 11 count: 9 12 } 13 ] 14 } 15});

上記のhogesに、Ajax等で取得したデータを追加、
及び、既にidが存在する場合は更新処理を行いたいと考えております。

現状として、
データの追加処理はpushで可能かなと思うのですが、
既にあるデータの更新方法がわからない状態です。

javascript

1//重複したIDをが無ければ追加 2view_model.hoges.push({ 3 id: 'id_03', 4 count: 0 5}); 6 7//IDが既に存在すれば、countを+1したい。 8/* 9 どのような処理が必要か。 10*/

どのように記述すれば、実現可能かご教授いただけますと幸いです。
何卒、よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Ajaxで受信するデータの構造が不明ですが、1つずつdataの中身を見ていくしかないのかなと思います。

JavaScript

1var new_data = ['id_01', 'id_02', 'id_03', 'id_01']; 2 3new_data.forEach(function(id) { 4 for (var i = 0; i < view_model.hoges.length; i++) { 5 if (view_model.hoges[i].id === id) { 6 view_model.hoges[i].count++; 7 return; 8 } 9 } 10 11 view_model.hoges.push({ 12 id: id, 13 count: 1 14 }); 15});

動作サンプル

投稿2016/10/20 04:37

sii_side

総合スコア849

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

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

stack-overflow

2016/10/20 06:35

回答ありがとうございます。 動作サンプルまでご用意いただき、大変わかりやすかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問