Vuetify 表在加载数据时出现错误

问题描述 投票:0回答:2

以下代码给出错误“在渲染期间访问了属性“item”,但未在实例上定义”。但是当我将其更改为正常时,一切正常。

<!DOCTYPE html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" />
  </head>
  <body>
    <script src="https://unpkg.com/[email protected]/dist/vue.global.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.js"></script>
    
    <div id="app">
          <v-table>
            <tbody>
              <tr v-for="item in routes">
                <td>{{item.customerName}}</td>
              </tr>
            </tbody>
          </v-table>
    </div>

    <script>
      const { createApp, ref } = Vue;
      const { createVuetify } = Vuetify
      const vuetify = createVuetify()

      const app = createApp({
        data: () => ({
          routes: [{"id":1,"customerName":"Pietje puk", "orderNumber":"PF-123456789", "zipcode":"5388AA,18"},
                   {"id":2,"customerName":"van de Graaf", "orderNumber":"TEST", "zipcode":"1234AA"}]
        }),
        setup() {
          const date = ref();
        }
      });

      app.use(vuetify).mount('#app')
    </script>
  </body>
</html>


我几乎尝试了一切,但似乎没有任何效果。也尝试了不同的版本。看起来这个组件有问题,但我是 Vuetify 的新手,所以也许我的代码中还有其他问题?我们的人工智能朋友无法帮助我;)

vue.js vuetify.js
2个回答
0
投票

您正在使用 Vuetify 版本 2 中的

v-table
,但您正在导入版本 3。

<v-table>
    <template #default>
        <tbody>
            <tr
                v-for="item in routes"
                :key="item.id"
            >
                <td>{{ item.customerName }}</td>
                <td>{{ item.orderNumber }}</td>
                <td>{{ item.zipcode }}</td>
            </tr>
        </tbody>
    </template>
</v-table>

0
投票

原因是 Vue 3 使用了与 Vue 2 不同的模板语法,并且一些功能在简单的 HTML 文件中不支持。

  1. 使用 Webpack 或 Rollup 等打包工具将代码转换为兼容的格式。

    在线示例

2.就像@Sambal说的,你可以添加一个

© www.soinside.com 2019 - 2024. All rights reserved.