路由可以简单的理解为URL和页面之间的一种映射关系
后端路由:
- 由后台控制显示的,显示具体的页面需要重新访问后台,后台重新返回页面。
前端路由:
- 所有需要跳转的页面已经提前加载好了。
一:添加路由
引入前可以先把主界面先复制保存一份(App.vue),留着备用
引入插件 vue-router
cmd——输入vue ui 进入Vue项目管理器——插件——不需要搜索,如果此前没有添加过,右上角就会有添加vue router的选项,点击。
安装成功了应该是以下的样式。
![JavaEE vue router 路由 1](https://i-blog.csdnimg.cn/blog_migrate/0051ff7e6cbd638811441976cb0b11c6.png)
二:案例实现——路由功能的实现
![JavaEE vue router 路由 2](https://i-blog.csdnimg.cn/blog_migrate/f18dcd6c4094f2481462ef958d68104c.png)
点击箭头指向按钮,红框内会发生变化而其他部位不会变化。
首先创建在红框内变化的vue组件。
一般这种vue组件是放在views文件夹下的。 (安装插件后会自动出现views和router文件夹)
自动生成的还有两个vue组件,Aboout.vue、Home.vue,再写一个News.vue和一个School.vue
-
School.vue示例
< template>
< h1>学校新闻
< /template>
< script>
< /script>
< style>
< /style>
然后需要在index.js下设置路由
![](https://i-blog.csdnimg.cn/blog_migrate/48ccfc93e222a2840162ed173ba6a2d1.png)
导入设置路由的组件还有图中about的设置方法,就不需要在最上面进行import了
修改App.vue设置动态变化页面的布局位置
![JavaEE vue router 路由 5](https://i-blog.csdnimg.cn/blog_migrate/16814507d2a67decf6d95085e4fa3b27.png)
至此我们已经能够实现在地址栏输入地址跳转了,但显然这不够人性化,所以我们需要添加几个按钮来是心啊跳转,更人性化。
在Top.vue上添加几个跳转按钮
![JavaEE vue router 路由 6](https://i-blog.csdnimg.cn/blog_migrate/71a4d9218745ddaac0cdbc2ef55f716a.png)
保存后就可以点击跳转了。
三:案例功能增加——路由嵌套
动态变化界面里面再加动态变化界面
![JavaEE vue router 路由 7](https://i-blog.csdnimg.cn/blog_migrate/5ce702ee3c0a5fa24bb2fc5cc80a0d89.png)
先写两个vue组件,HotNew.vue、FunsNew.vue,同School.vue的样式。
修改index.js,将设置News路由的部分修改为以下代码
{
path: ‘/news’,
component: News,
children:[
{
path:‘hotnews’,
// 此处path没有/(斜杆符号)
component:HotNews
},
{
path:‘funsnews’,
component:FunsNews
}
]
},
修改News.vue,添加两个跳转按钮,和一个代表动态变化的router-view
< template>
< router-link to="/news/hotnews">热点新闻< /router-link>
< router-link to="/news/funsnews">媒体新闻< /router-link>
< router-view>< /router-view>
< /template>
< script>
< /script>
< style>
< /style>
保存运行。
四:案例功能再增加——动态路由
![JavaEE vue router 路由 8](https://i-blog.csdnimg.cn/blog_migrate/499ce0f7223029d8a56df8c38018e543.png)
当需要跳转的vue太多的时候,并且大多重复的情况下,不需要每一个对应的设置路由,可以设置动态路由
先在HotNews下设置响应跳转的链接
![JavaEE vue router 路由 9](https://i-blog.csdnimg.cn/blog_migrate/e856d3c848276c36d4d0d8a9c91f76e5.png)
修改index设置动态路由,作用是接收上边HotNews.vue传来的参数(1,2,3,4)给变量 id
![JavaEE vue router 路由 10](https://i-blog.csdnimg.cn/blog_migrate/2f55575bcd14307af97633f7a7df33e8.png)
编写一个显示的不同结果的vue组件HotNewsDetail.vue
![JavaEE vue router 路由 11](https://i-blog.csdnimg.cn/blog_migrate/2bf362cbf9fbfdec96c052c6ef77a1a7.png)
五:一些补充小细节
1:地址栏有#如何删除?
将index.js里的createWebHashHistory修改为createWebHistory(一共有两处)。
2:其他跳转方式
![JavaEE vue router 路由 13](https://i-blog.csdnimg.cn/blog_migrate/9f989d3acff65fc6b3244017b2352b04.png)
六:项目的部署打包
右击整个项目——在外部资源管理器打开——在此位置打开cmd——输入npm run build
等执行完毕之后会在当前的目录下会生成一个dist的文件夹,里面就是可以直接在服务器上部署的文件了(没有vue之类的文件)