【问题标题】:Vue Router - build from JSONVue 路由器 - 从 JSON 构建
【发布时间】:2019-10-12 11:53:30
【问题描述】:

我对 Vue.js 还是很陌生。我习惯于原生 JavaScript。
我需要能够从 JSON 文件生成路由路径。
我怎样才能实现它?

编辑

例如,假设这是我的 JSON:

[
  {
    "name": "Product 1",
    "url": "product-1",
  },
  {
    "name": "Product 2",
    "url": "product-2",
  }
]

我基本上需要 Vue 路由器将 URL/product-1 重定向到产品 1 的组件(将是 <Product-1></Product-1>),并将 URL/product-2 重定向到产品 2 的组件(<Product-2></Product-2>

【问题讨论】:

  • 一个普通的map函数来匹配API怎么样?
  • 正如我所说,我是 Vue 新手。如何将 .map() 东西应用到 Vue 路由器?

标签: javascript json vue.js vue-router


【解决方案1】:

假设您的组件在对象中的名称是name,我们需要将您的结构与Vue Router API 匹配。 因此,我们可以这样做:

const myRoutes = [
  {
    "name": "Product 1",
    "url": "product-1",
  },
  {
    "name": "Product 2",
    "url": "product-2",
  }
]

const router = new VueRouter({
  routes: myRouters
          .map(({name, url})=>({component: name, path: `/${url}`)),
})

【讨论】:

  • 抱歉链接混乱。我很高兴。 @avi12
  • 这个答案并不能完全满足我,因为我确实需要将routers: 链接到外部文件。除了,使用fetch() 会在最后给出一个承诺,所以我需要找到一种方法让export default 得到一个包含所有路由的Router,作为一个数组
  • 延迟加载所有组件然后定义路由怎么样?
  • 我想我可以测试一下。知道这样做的最佳技术是什么吗?
  • 随你喜欢。就个人而言,我使用 Webpack 块加载
猜你喜欢
  • 2017-09-22
  • 2021-02-09
  • 2018-03-23
  • 2020-09-09
  • 2021-02-08
  • 2020-10-11
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
相关资源
最近更新 更多