路由的基本使用
前端路由阶段
核心:改变URL,但是页面不进行整体的刷新
1 | //在浏览器终端输入 |
HTML的history模式:pushState
1 | history.pushState({data},'title','url') |
安装vue-router
- 通过npm安装vue脚手架项目的时候安装路由
- 安装vue-router:
npm install vue-router --save
- 在模块化工程中使用它(因为是一个插件,所以可以通过
Vue.use()
来安装路由功能)- 导入路由对象,并调用
Vue.use(VueRouter)
- 创建路由实例,并且传入路由映射配置
- 在Vue实例中挂载创建的路由实例
- 导入路由对象,并调用
使用vue-router的步骤
- 第一步:创建路由组件
- 第二步:配置路由映射关系,组件和路径的映射关系
- 第三步:使用路径,通过
<router-link> 和 <router-view>
创建路由组件
/src/components
放vue组件
配置路由映射关系,组件和路径的映射关系
/src/router/index.js
1 | //导入vue和router |
使用路径,通过<router-link> 和 <router-view>
/src/App.vue
main.js渲染的就是这个vue模板,因此我们在里面写全局组件<router-link> 和 <router-view>
App.vue
1 | <template> |
内置组件
<router-link>
该标签是一个vue-router中已经内置的组件,它会被渲染成一个<a>
标签.
<router-view>
该标签会根据当前的路径,动态渲染出不同的组件
网页的其他内容,比如顶部的标题/导航,或者底部的一些版权信息等会和<router-view>
处于同一个等级.
在路由切换时,切换的是<router-view>
挂载的组件,其他内容不会发生改变.
<router-link>
默认渲染<a>
标签
1 | <!--添加tag="button"属性,现在渲染的就是按钮--> |
默认页面路径使用的是pushState栈结构,可以使用返回向前操作,如果不允许这样使用,可以在
router-link
添加属性replace
tag :tag可以指定渲染组件replace :不会留下history记录,因此不能使用后退健返回上一个页面- active-class:默认的class类叫
router-link-class
1 | <router-link to='/home' tag="button" active-class="active"></router-link> |
在路由配置里面,修改默认值
1 | export default new Router({ |
路由默认路径,显示首页
1 | { |
router/index.js
配置router参数
默认模式hash
默认模式路径带#号,对路径不美观,我们可以修改模式为HTML5的history模式
/router/index.js
1 | //抽离了一下 routes |
使用methods方法来跳转网页
App.vue
1 | <router-view></router-view> |
1 | export default { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SimpleLife!