vue笔记(6)

路由

vue-router

安装

终端中运行 npm i vue-router@3.5.2 -S (版本号必带)

引用

index.js界面

main.js界面

使用路由

1.// 导入需要的组件
import Login from '@/components/MyLogin.vue'
import Home from '@/components/MyHome.vue'
2.
routes: [
        //path  'hash'地址  component组件名 redirect  显示
      { path: '/login', component: Login}
      {
          path: '/home',
          component: Home,
          redirect: '/home/users',  将path /home 指向 /home/users  redirect重定向
          children: [  子路由
        { path: 'users', component: Users },
         
]

为路由添加id 增加复用性

vue:    <router-link to="/Movie/1">洛基</router-link>
         <router-link to="/Movie/2">雷神</router-link>
         <router-link to="/Movie/3">钢铁侠</router-link>
index:  {path:'/Movie/:id',component:Movie},   id为自定也名
在Movie.vue 中可用 props:['id']来接收值

     

编程式页面跳转路由  push  replace   back  forward

push:this.$router.push('/Movie/1')  会生成历史记录
replace: this.$router.replace('/Movie/1') 不会生成历史记录
back:this.$router.back() 后退
forward:this.$router.forward() 前进

 创建 移除 token  (判断密码是否正确)

        localStorage.setItem('token','Bearer li')

        localStorage.removeItem('token')

全局项目守卫  to 要去的路由页面   from跳转前的路由页面  

router.beforeEach((to,from,next)=>{
  if(to.path==='/Home'){      如果要去的哈希地址为home
    if(localStorage.getItem('token')){       获取token值 
      next()
    }else{
      next('/')
    }
  }else{
     next()
  }
  next()
})

设置vant 全局样式

首先将main.js中的  

 改为     

 

// 这个文件是 vue-cli 创建出来的项目的配置文件
// 在 vue.config.js 这个配置文件中,可以对整个项目的打包、构建进行全局性的配置

// webpack 在进行打包的时候,底层用到了 node.js
// 因此,在 vue.config.js 配置文件中,可以导入并使用 node.js 中的核心模块
const path = require('path')
const themePath = path.join(__dirname, './src/theme.less')

module.exports = {
  publicPath: './',
  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          // 直接覆盖变量
          // 'nav-bar-background-color': 'orange'
          // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
          hack: `true; @import "${themePath}";`
        }
      }
    }
  }
}

在src文件夹中新建一个less文件 

// 在 theme.less 文件中,覆盖 Vant 官方的 less 变量值
@blue: #007bff;

// 覆盖 Navbar 的 less 样式
@nav-bar-background-color: @blue;
@nav-bar-title-text-color: #fff;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值