【问题标题】:Why wont my data create a table (using BootsrapVue)?为什么我的数据不会创建表(使用 Bootstrap Vue)?
【发布时间】:2019-08-12 17:07:13
【问题描述】:

我正在使用 Vue,这是我的脚本:

export default {
  name: 'app',
  components: {
  },
  data(){
    return{
      image: null,
      isLoaded: false,
      items: []
    }
  },
  created(){
    this.divtest()
    this.getTimeTable()
  },
  methods:{
    getTimeTable() {

      var timetable = [{}];
      var stunde = 1
      var calendar = db.collection("mittwoch");
      var wholeDay = calendar.get()
      .then(snapshot => {
        snapshot.forEach(doc => {
          var fullTempTable = doc.data()
          var tmpTable = {
            stunde: stunde,
            fach: fullTempTable.fach,
            lehrer: fullTempTable.lehrer,
            raum: fullTempTable.raum
          };
          stunde++
          timetable.push(tmpTable);

        })
      });
      this.items = timetable;
      this.isLoaded = true;
    }
  }
}

我正在使用这个模板:

<template>
  <div id="app" v-if="isLoaded" class="fullscreen background">
    <div class="timetable">
      <b-table striped hover :items="items" />
    </div>
  </div>
</template>

我正在尝试使用一些 Firestore 数据生成时间表。我尝试使用来自 BootstrapVue wiki 的示例数据,它工作得很好,所以我认为我正确安装了 BootstrapVue 模块。此外,我是否在 vanilla JS 网站上测试了我的代码并获得了所有数据。

【问题讨论】:

  • timetable 变量在timetable.push(tmpTable) 中来自哪里?
  • 一个提示:您可以使用 vue-devtools github.com/vuejs/vue-devtools 这将帮助您分析 Vue.js 数据的价值,特别是在您的情况下是 ìtems
  • @RenaudTarnec 所以使用我发现的开发工具,第一个对象是空的,但我该如何解决呢?
  • 什么是“第一个对象”?您是否按照 Sovalina 的建议声明了 timetable?另外,您是否在浏览器控制台中看到任何错误?
  • 试试var timetable = []而不是[{}]

标签: firebase vue.js google-cloud-firestore bootstrap-vue


【解决方案1】:

好的,我发现了我的错误。我已将时间表变量声明如下:[{}]。结果,数组的第一个对象是空的。

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 2011-01-14
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多