vue问题部分总结

1.路由跳转问题

//一般路由跳转都会采用push或者replace方法,并通过query进行路由传参:
this.$router.push({
    path:"/",
    query:{
         query
    }
})
//query传参有一个问题,就是不能有特殊符号,像百分号%,加号+等,就拿百分号%号为例
this.$router.push({
    path:"/",
    query:{
         query:"{a:100%}"
    }
})
//传过去的参数就是 /query=%7Ba%3A100%25%7D
//其实正常传的话是没有问题的,但是一刷新路由参数就会消失,导致解析路由参数的代码报错

解决方案:将百分号替换掉,并进行相应的解析

this.$router.push({
    path:"/",
    query:{
         query:"{a:100\\}"
    }
})

2.路由打开新窗口

有时候需要阻止页面刷新,像keep-alive的使用又问题重重,就需要重新打开新窗口,比如页面的打印等

 let url = this.$router.resolve({
     path: '/hello',
     query: {
         query
     }
 })
 window.open(url.href);

3.脚手架生成项目打包部署问题

 build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),
    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './',//将此处改为相对路径
  }

4.vue路由问题

在路由文件里引入的文件不区分大小写

//在components下创建一个Login.vue,并引入
import Login from '@/components/Login'
import Login from '@/components/login'//小写亦可,但是打包部署会报错,还不易察觉

你可能感兴趣的:(vue问题部分总结)