2017-09-25 113 views
0

我的代碼存在問題。我無法將我的數據顯示到Vuetify Datatable,儘管 已啓用在我的Firebase數據庫上讀寫:無論如何,這裏是我的代碼,對我的代碼有任何問題嗎?評論大爲讚賞:如何使用VueJs將數據從Firebase數據庫顯示到Vuetify數據表

<template v-for="user in users"> 
    <v-data-table 
     v-bind:headers="headers" 
     :items="user" 
     hide-actions 
     class="elevation-1" 
     > 
     <template slot="items" scope="props"> 
     <td>{{ users.title }}</td> 
     <td class="text-xs-right">{{users.description }}</td> 
     </template> 
    </v-data-table> 
</template> 

import * as firebase from 'firebase' 

let config = { 
//config here..... 
} 
let app = firebase.initializeApp(config); 
let db = app.database(); 
let userRef = db.ref('users'); 
export default{ 
    firebase:{ 
     users:userRef 
    } 
} 

+0

我不知道有關firebase的很多內容,但基於我所看到的,我猜測你的變量都沒有定義。我想你需要定義'headers'和'items'。另外,我不知道'scope ='props''位正在做什麼。這並不意味着它是錯的,我只是不知道它在做什麼。 –

+0

我假設你已經通過這個例子:https://vuejs.org/v2/examples/firebase.html –

回答

1

您需要data()函數返回的牽着你的數據的對象。

export default { 
    data() { 
     return { 
     // data for component here 
     } 
    } 
} 

通過遍歷模板,您將創建多個數據表。數據表組件本身處理迭代項目。

您傳遞到:items的對象數組將通過scope="props"獲得,如果您願意,可以將指定給scope的字符串命名爲除props外的其他東西。您的數據將位於props.item對象中。還要確保你的標題數組是在某處定義的。

<template> 
    <v-data-table 
     v-bind:headers="headers" 
     :items="exampleData" // pass the array of objects you want in the table here. 
     hide-actions 
     class="elevation-1" 
     > 
     <template slot="items" scope="props"> 
     <td>{{ props.item.user}}</td> 
     <td class="text-xs-right">{{props.item.title}}</td> 
     </template> 
    </v-data-table> 
</template> 

import * as firebase from 'firebase' 

let config = { 
//config here..... 
} 
let app = firebase.initializeApp(config); 
let db = app.database(); 
let userRef = db.ref('users'); 
export default{ 
    data() { 
     return { 
     firebase:{ 
      users:userRef 
     }, 
     exampleData: [ 
      {'user': 'Neo', 'title': 'CEO'}, 
      {'user': 'Trinity', 'title': 'CTO'} 
     ], 
     headers: [ 
      {text: 'User', value: 'user', align: 'left'}, 
      {text: 'Title', value: 'title', align: 'left'} 
     ] 
     } 
    } 
} 
+0

+1這讓我感到困惑了一段時間。該網站似乎沒有記錄':items'中的數據通過'scope =「props」'可見的事實,並且單個項目通過'props.item'可見。這有點讓你通過這些例子弄清楚了。 – Arj

相關問題