vue router动态路由下让每个子路由都是独立组件的解决方案
时间:2018/5/9 21:49:16阅读:
vue-router 之动态路由vue-router官网上面是这样说的// 带查询参数,变成 /registerplan=privaterouter.push({ path: register, query: { plan: private }})然后,我就这样写了:this.$router.push({path:manage, query: {id: tasklist}})1结果很明显,失败了。然…
vue-router 之动态路由
vue-router官网上面是这样说的 // 带查询参数,变成 /register?plan=private router.push({ path: "register", query: { plan: "private" }}) 然后,我就这样写了: this.$router.push({path:"manage", query: {id: "tasklist"}})1 结果很明显,失败了。然后我就默默的再次看了一下官网,结果发现了这句话 // 命名的路由 router.push({ name: "user", params: { userId: 123 }}) // 带查询参数,变成 /register?plan=private router.push({ path: "register", params: { plan: "private" }}) 注意:如果提供了 path,params 会被忽略,上述例子中的 query 并不属于这种情况。取而代之的是下面例子的做法,你需要提供路由的 name 或手写完整的带有参数的 path: const userId = 123 router.push({ name: "user", params: { userId }}) // -> /user/123 router.push({ path: `/user/${userId}` }) // -> /user/123 // 这里的 params 不生效 router.push({ path: "/user", params: { userId }}) // -> /user 谨记啊,动态实现二级路由,需要先用变量保存二级路由名称(let router = "tasklist"),然后调用this.$router.push({path: `/user/${router}`}).