2017-11-21 5 views
0

配列からデータをループします。問題は、ループが3つの空のテーブルを作成し、アイテムを呼び出すことが原因であると推測していることです。 3回。 Vueが空のテーブルを作成せずに配列からデータを取得したい場合は、データをどのように表示する必要がありますか? v-forループなしで{{users.firstname}}を使用しようとしましたが、うまくいかないようです。VueJSでv-forを使用してデータを表示

<table v-for="item in users"> 
     <tbody> 
      <tr> 
      <td>{{ item.username }}</td> 
      </tr> 
      <tr> 
      <td>{{ item.firstname }}</td> 
      </tr> 
      <tr> 
      <td>{{ item.lastname }}</td> 
      </tr> 
     </tbody> 
     </table> 

<template v-for="item in users" v-if="item.username && item.firstname && item.lastname">を使用して解決されました。余分な要素は印刷されません。

+0

v-forディレクティブをテーブル要素からtdに移動 – WaldemarIce

+0

アイテムごとに1つずつ3つのテーブルが必要ですか?または、アイテムごとに3つの行が必要ですか?私はあなたの期待される結果が何であるか分かりません。 –

+0

私はすべての行に異なるデータを表示する3行の1つのテーブルが必要です。 Username Firstname とLastname – Znowman

答えて

3

あなたは、ユーザーごとに3行を作成するグループ彼らに<template>タグを使用し、そのテンプレートにv-forを使用する場合:

<table> 
    <tbody> 
     <template v-for="item in users"> 
     <tr> 
      <td>{{ item.username }}</td> 
     </tr> 
     <tr> 
      <td>{{ item.firstname }}</td> 
     </tr> 
     <tr> 
      <td>{{ item.lastname }}</td> 
     </tr> 
    </template> 
    </tbody> 
    </table> 

は、例えば、このフィドルを見てください:https://jsfiddle.net/nfa43bhq/

+0

Hmmはまだ空の行を追加し、実際にデータを表示している行の上と下の両方に空の行を作成します。 – Znowman

+0

@Znowman:実例を使ってフィドルを追加しました – cello

+0

あなたのフィドルでハードコードされたデータでうまく動作します。問題は、私がループを通過するときに空の要素を作成するAPIからデータを取得していることです何らかの理由で。 – Znowman

関連する問題