heroes案例中的路由

这里以heroes案例为例:

项目整体的路由

整体思路是:main.js作为程序的入口文件,可以书写路由相关的代码,但是这样不符合单一职责原则,不利于代码的维护,因此采用另一个router.js文件管理路由,但是又需要使router.js管理的路由在main.js中发挥作用。

详细步骤:
1.公有组件appslider.vue中书写<router-view>
2.App.vue中,设置<router-view>容器
3.router.js中,导入vue和vue-router,导入前要看清楚node_modules中是否已经安装相应的包,最后Vue.use(VueRouter)。
4.router.js中,导入要渲染的组件Bar.vue、List.vue、Foo.vue
5.router.js中配置路由routes
6.router.js实例化路由:new VueRouter()
7.router.js导出router对象
8.main.js导入router.js
9.在main.js的new Vue实例的选项router中挂载路由

从英雄列表到编辑页面的路由

这里记录一种比较常见但也相对复杂的情况,即处理类似于heroes案例中的“点击不同的编辑按钮->渲染同一个组件edit.vue”的情况。
这里使用函数式导航时,push函数不仅仅需要填组件对象,还需要填第二个参数id值。

详细步骤:
1.list.vue的js部分:
methods->
showEditVue(ID){this.$router.push({name:‘edit’,params:{id:ID}})};
2.router.js中,为原路由配置添加id:
{path:’/edit/:id’}
这种写法叫作动态路由
3.edit.vue中:
获取动态路由参数this.$route.params.id
4.edit.vue中:
axios.get(url+this.\route.params.id).then((res)=>{this.formData=res.data});
5.edit.vue中:
mounted(){this.getHeroById();}
调用4所在的方法
6.将5中获取的对象数据绑定到视图中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值