vue路由

1,683 阅读1分钟

一.路由概念

路由的本质就是一种对应关系(此处的路由含义同之前nodejs的路由),根据不同的URL请求,返回对应不同的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。

路由分为:后端路由前端路由

后端路由:由服务器端进行实现并实现资源映射分发(nodejs、jsp、php等)

  • 概念:根据不同的用户URL请求,返回不同的内容(地址与资源产生对应关系)
    
  • 本质:URL请求地址与服务器资源之间的对应关系(映射)
    

前端路由:根据不同的事件来显示不同的页面内容,是事件与事件处理函数之间的对应关系

  • 概念:根据不同的用户事件,显示不同的页面内容(地址与事件产生对应关系)
    
  • 本质:用户事件与事件处理函数之间的对应关系
    

二.路由配置

1. 基本配置

{
    path: '/',//配置的地址, 
    alias:["/index","main"],//别名,在地址栏输入index或者main都可以跳转到/的页面
    name: 'home',//可省略不写
    component: HomeView,//配置的页面组件
  },

2. 传参

{
    path: '/produce/:id',//id是自定的参数(形参)
    name: 'produce',
    component: ProduceView
    // component: () => import("../views/ProduceView.vue"),
  },

3. 子路由

{
    path: '/admin',
    name: 'admin',
    component: () => import("../views/admin/AdminView.vue"),
    children: [
      {
        path: "dash",
        name: "dash",
        component: () => import("../views/admin/DashView.vue"),
      },
      {
        path: "event",
        name: "event",
        component: () => import("../views/admin/EventView.vue"),
      },
      {
        path: "",
        redirect: "dash",//如果子path为空,重定向到dash页面
      },
    ]
  },

4. 404

//在最后面配置404
  {
    path: "*",//path的值为*
    name: "nomatch",
    component: () => import("../views/NoMatch.vue"),
  },

三.路由方法

  • $router.push:跳转并添加一个历史记录
  • $router.replace:跳转替换(不留历史记录)
  • .back():返回
  • .forward():前进
  • .go(-1):返回一步
  • .go(1):前进一步