路由的安装使用

npm install vue-router

// router.js
import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../components/Home";
Vue.use(VueRouter);

export default new VueRouter({
  routes: [
    {
      path: "/",
      component: Home,
    },
  ],
});
// main.js
import router from "./router";
new Vue({
  router, // 这里是es6的写法,所以这个名字必须是router,改成别名不会被识别,注意。
  store,
  render: (h) => h(App),
}).$mount("#app");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

功能说明

  • 嵌套的路由/视图表
  • 模块化的、基于组件的路由配置
  • 路由参数、查询、通配符
  • 基于 Vue.js 过渡系统的视图过渡效果
  • 细粒度的导航控制
  • 带有自动激活的 CSS class 的链接
  • HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  • 自定义的滚动条行为

常用配置

export default new VueRouter({
  // 【mode】"hash" | "history" | "abstract"是nodejs环境
  mode: "history", // 默认hash模式
  // 基路径,比如上线后需要跟在二级目录下,你会懂的,痛过才会懂
  base: "/songyu",
  routes: [
    {
      path: "/",
      redirect: "/home", // 重定向
    },
    {
      path: "/home",
      component: Home,
      alias: "/404", // 别名,即地址里显示404,页面显示首页
    },
  ],
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

路由好像没什么可记录的,都在官方文档里写的很清楚,以后有闲工夫再赘述吧,哦,还有 vuex 也是,不怪我,谁让官方写的那么详细。

这里简单说一下路由在开发中常用的吧:

  • 跳转:js 跳转,标签跳转
  • 传参:多种带参数过去,但是有坑,比如刷新页面值会丢失,需要想好用哪个
  • 拦截:做权限鉴权用的
  • 重定向:容错页设置
  • 模式:如果是 has 模式没什么,除了限制一点功能外,兼容还好,如果是 history 就要考虑上线后的二级域名
  • 好吧,我会在今年把这个路由和 vuex 写一下总结

上面的是昨天写的,今天就来更新,一鼓作气,写完,快开学了,压力还是(玩儿了 2 月现在才开始做……)

Last Updated:
Contributors: websong