javascript - 渲染由路由器附加的组件中的项目列表

标签 javascript vue.js vue-router

我想列出项目,并在点击项目时显示详细信息。

脚本如下所示:

const items = [
  {
    id: 1,
  },
  {
    id: 2,
  },
];


const List = Vue.component('list', {
  template: `
    <h1> Total {{items.length}} item(s)</h1>
    <div v-for="item in items" v-bind:id="'cid_'+item.id">
      {{item.id}}
    </div>
  `,
  data() {
    return {
      items,
    };
  },
});

const Detail = {
  template: 'Viewing: {{item.id}}',
};

const routes = [
  {
    path: '/',
    component: List,
  },
  {
    path: '/item/:id',
    component: Detail,
  },
];

const router = new VueRouter({
  mode: 'history',
  routes,
});


let vm = new Vue({
  router,
}).$mount('#page');

当我转到“/”时,它只返回“总计 2 项”。项目列表未按预期呈现。

enter image description here

我的代码有什么问题?如何解决?谢谢。

最佳答案

对 Vue.js 不是很熟悉,我不知道你的最终目标是什么,但是当我在 index.html 中加载它时使用一些 CDN 链接时,我收到一条错误消息,指出所有组件都必须只返回一个元素,因此我将其包装在 <div></div> 中.它显示根目录下的项目,这里是 fiddle .

关于javascript - 渲染由路由器附加的组件中的项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51202861/

相关文章:

javascript - 如何删除 Canvas 周围的灰色边框

javascript - 如何在计算属性中使用 window.innerWidth - NuxtJS

javascript - 在 Vue.js 中隐藏 div onclick

javascript - 定义 Vue-Router 路由时访问 Vuex 状态

javascript - 具有不受 Vue Router 影响的文件夹的 Vue JS Cli 项目

javascript - 仅在一个 Vue Router 页面上处理 keydown 事件

javascript - 仅将输入的字符从一个文本框复制到另一个文本框

Javascript在数组中使用构造函数

javascript - 如何在 Firebase 中有效查询?

caching - 在 webpack 4 vue cli 3 中禁用缓存加载器