BootstrapVue-属性或方法“数据”未定义...使用作用域插槽时

时间:2019-11-09 13:42:31

标签: html vue.js vue-component bootstrap-vue

您好,我正在学习使用BootstrapVue,我复制了BootstrapVue官方文档中的示例-

<template>
  <div>
    <b-table :fields="fields" :items="items" foot-clone>
      <!-- A custom formatted data column cell -->
      <template v-slot:cell(name)="data">
        {{ data.value.first }} {{ data.value.last }}
      </template>

      <!-- A custom formatted header cell for field 'name' -->
      <template v-slot:head(name)="data">
        <span class="text-info">{{ data.label.toUpperCase() }}</span>
      </template>

      <!-- A custom formatted footer cell for field 'name' -->
      <template v-slot:foot(name)="data">
        <span class="text-danger">{{ data.label }}</span>
      </template>

      <!-- Default fall-back custom formatted footer cell -->
      <template v-slot:foot()="data">
        <i>{{ data.label }}</i>
      </template>
    </b-table>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        fields: [
          // A column that needs custom formatting
          { key: 'name', label: 'Full Name' },
          // A regular column
          'age',
          // A regular column
          'sex'
        ],
        items: [
          { name: { first: 'John', last: 'Doe' }, sex: 'Male', age: 42 },
          { name: { first: 'Jane', last: 'Doe' }, sex: 'Female', age: 36 },
          { name: { first: 'Rubin', last: 'Kincade' }, sex: 'Male', age: 73 },
          { name: { first: 'Shirley', last: 'Partridge' }, sex: 'Female', age: 62 }
        ]
      }
    }
  }
</script>

在教程页面上,一切似乎都工作正常,但是当我运行它时,我会不断得到:Property or method "data" is not defined... 我认为这是因为<template v-slot:cell(name)="data">部分无法实例化数据,但我不知道为什么以及如何修复它,请帮忙。

1 个答案:

答案 0 :(得分:1)

是的,版本是问题所在。我将Vue 2.5.x更新为2.6.10后使用它,就像教程中一样,它没有任何问题。