vue-router

入门

  • 路由的工作
  • 准备工作
    1. 安装 npm i vue-router
    1. 引入 import VueRouter from 'vue-router'
    1. 注意点 : vue-router 和 vuex 在模块化(把他们单独提到一个js文件里)工程中,需要使用 Vue.use(安装一下)
    1. 实例化 + 挂载 (导出去再挂载)
  • 四个步骤
  • 1,先把需要的组件创建出来 Login.vue Home.vue

  • 走流程

  • 1. 入口 (url测试)
    复制代码
  • 2. 匹配规则
    复制代码
  • 3. 组件
    复制代码
  • 4. 出口
    复制代码

注意点 : 模块化工程中, 记得使用 vue 安装一下 路由功能

import Vue from 'vue'
//引入路由
// const VueRouter = require('vue-router')
import VueRouter from 'vue-router'

// 引入组件
import Login from '../components/login/Login.vue'
// 分割的方法 :   const Foo = () => import('./Foo.vue')   异步组件 + webpack => 分割不同的模块
const Home = () => import('../components/home/Home.vue')
const Users = () => import('../components/users/Users.vue')

// import Home from '../components/home/Home.vue'
// import Users from '../components/users/Users.vue'

// 安装一下
Vue.use(VueRouter)

// 实例化
const router = new VueRouter({
  routes: [
    { path: '/', redirect: '/login' },
    { path: '/login', component: Login },
    {
      path: '/home',
      component: Home,
      children: [
        { path: '/users/:page?', component: Users },
        { path: '/roles', component: Roles }
      ]
    }
  ]
})

// 导航 守卫
router.beforeEach((to, from, next) => {
  // 判断访问的是不是登录页面
  if (to.path === '/login') {
    next()
  } else {
    // 其他页面
    // 判断有没有登录过
    let token = localStorage.getItem('token')
    // 判断token有没有值
    token ? next() : next('/login')
  }
})

// 导出 路由
export default router
复制代码

转载于:https://juejin.im/post/5cd91231e51d456e89634ae0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值