vue.js使用vue-route作为路由

项目目录

项目基于mall-admin-web-master进行开发

https://github.com/macrozheng/mall-admin-web

在这里插入图片描述

定义路由

路由文件位置

在这里插入图片描述

index.js路由文件
在这里插入图片描述

其中,最重要的部分是对于页面文件的路由,定义一个constantRouterMap,其中path为页面文件所在位置,component为所要引用的组件,在这里引用了名为 Layout的组件,redirect为所要跳转的组件路径,name为该路由项名称,其中使用方法之一是 :

<router-view  name="pms"></router-view>  //渲染pms组件

meta中定义了该路由项的名称和其使用的图标,children中是该路由项下的子路由项,例如:addProduct中引入了@/views/pms/product/add中的模板文件,这样就完成了路由项的定义。

页面跳转逻辑

views/pms

index.vue 点击 新增按钮 通过点击事件 调用 methods 下的handleAddProduct()

在这里插入图片描述
handleAddProduct()方法位置

在这里插入图片描述

跳转到add.vue

在这里插入图片描述

特别注意第二个红框,格式为 冒号值名称-值名称,必须为**-**隔开的全小写字母组成,:is:is_A:Is_a都是不可以的 ,一下是Vue.js官方教程上的一段话:

HTML 中的 attribute 名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名

add.vue调用了ProductDetail组件,并向product-detail标签传值

在这里插入图片描述

ProductDetail组件中相应的product-detail标签与export default{}propsisEdit属性做绑定

在这里插入图片描述
下图是该页面下的export default{}propsisEdit属性的定义,同样,这个属性名称需要是等价的小驼峰写法,例如:is_open 对应 isOpen,错一点都不能匹配成功

在这里插入图片描述

参考文章

浅析vue-router中name的用法 https://blog.csdn.net/weixin_42470791/article/details/82944838

Vue入坑——vue-router的重定向redirect https://my.oschina.net/u/3802541/blog/1811061

Vue: export default中的name属性到底有啥作用呢 https://blog.csdn.net/weixin_39015132/article/details/83573896

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值