iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签
在c盘创建一个iview-router的项目
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_02

iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_03
然后使用默认的配置
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_04

iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_05
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_06
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_07
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_08
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_09
跳过


添加vue-router的插件
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_10
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_11
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_12

编译我们的文件。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_13
编译好之后,我们启动App
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_14
默认的页面就打开了。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_15
默认两个路由一个是about界面一个是home
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_16
我们使用编辑器打开代码,用我们的iview的menu组件替换掉这两个路由
在Router这个js文件内已经配置好了这两个路由
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_17
分别对应了这两个组件
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_18
App.vue里面看到菜单是用router-link来渲染的。Router-link在渲染完成之后,会变成一个a标签。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_19
我们把他替换成iview的menu组件
Menu标签里面嵌套MenuItem元素
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_20
查看效果:
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_21

On-select跳转

增加按钮的跳转事件

handleSelect会拿到当前菜单的name值


使用vue-router的编程式导航来跳转、
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_22
About界面
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_23
Home界面:

iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_24
Iview3.0中增加的新的写法,可以大幅度的简化跳转的过程


我们直接使用to属性,
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_25
实现了同样的效果
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_26
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_27

之前的代码生成的是一个普通的li标签
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_28
Target属性:
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_29
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_30
Menu的api
https://www.iviewui.com/components/menu#API
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_31

Replace属性

iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_32
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_33
再点击about链接
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_34
Replace没有保存历史记录的
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_35
页面会直接在新的tab页面打开,相当于a标签的target=”_blank”
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_36

根据当前路由自动选中对应的菜单

菜单当前是about页面。菜单是没有高亮的。、
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_37
为了使菜单高亮,我们还是需要给item加上name属性
Name仅仅作为这个菜单项的一个标识。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_38
页面效果
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_39
当用户刷新页面的时候,这个并没有高亮。只有用户点击过菜单才会高亮
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_40
这就是我们要讲的根据当前路由自动选中当前菜单项
Active-name默认选中的菜单
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_41
刷新页面依然选中了
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_42
我们要动态的根据路由去选择对应的菜单

也就是我们动态的去设置active-name的值了、

我们在页面渲染完之后,把路由打印出来。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_43
当我点击了about路由的时候,。About.vue里面并没有,输出console当前的路由

通过一个watch来兼容路由的变化
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_iview_44

根据不同平台动态路由不同组件

判断当前是pc电脑还是移动端的手机,显示不同的内容 ,又同时保持同一个路由路径。
在路由级别渲染不同的组件的方法
使用isMobile变量来判断
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_高亮_45
然后我们在login的路由配置里面, 加上这个路径,如果是手机的话就有mobile的路径,如果不是就是空的
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_46
在views下面新建一个mobile的文件夹,在mobile文件夹下面新加一个login.vue.这个就是我们移动端要看的文件。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_47
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_菜单项_48
默认是pc端的
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_a标签_49
切换手机端后刷新一下页面。
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_50
iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇_移动端_51