Vue使用中遇到问题汇总(二)
1、vue cli使用npm run dev报错cannot get /

config/index.js里有两个环境:一个是build,一个dev。
在config/index.js里面修改,build:{assetsPublicPath:'./'};dev里面不需要修改,dev:{assetsPublickPath:'/'}。我本来在window上面开发的,后面移到linux上面,刚开始报错,我就把dev里面的路径改了,不报错,但是浏览器提示cannot GET /,怎么都找不到原因,就把dev路径改回去了,重新再npm run dev一次,就成功了。
2、stylus的&使用的问题,其实是熟悉css写法的问题,跟css写法大同小异的


这两种不同class就是写的时候有无空格的问题,当第二种你采用有空格的写法的话,是不生效的,因为默认是去子集找那个class=is-active的元素了
//第一种需要空格
.el-menu-toggle{
& .icon-menu{}
}
//第二种不能加空格
.el-menu-item{
&:hover{
background-color $--background-color-menu-hover
font-weight bolder
}
&.is-active{
border-left 3px solid #409Eff;
background-color $--background-color-menu-active;
font-weight bolder
}
}
3、使用vue-cli+webpack创建的项目,修改文件名称或者更改文件的位置,运营时会报错,是因为npm项目,在安装依赖(node_nodules)时,会记录当前的文件路径,当修改之后就无法正常启动。
解决办法:
(1)删除 node_modules 文件夹(如果修改项目名称,需要在package.json中修改对应的name)
(2)重新安装依赖 cnpm install
(3)启动项目 cnpm run dev
4、axios提交表单数据到后台,采用post方式
let config = {
    url:'/api/sr/aq/updt',
    method:'post',
    params:JSON.stringify(this.aqForm),//表单数据
    headers:{'Content-Type':'application/json'}
}
axios.post(config.url, JSON.stringify(this.aqForm), {headers:{'Content-Type':'application/json'}})
.then((response)=>{
    this.updateSR = false
})
采用config形式
submitForm(){
    let config={
        url:'/api/submitSR',
        method:'post',
        data:JSON.stringify(this.formData),
        headers:{'Content-Type':'application/json'}
    }
    axios(config).then((response) => {
        if(response.status == ){
            console.log('success')
        }else{
            console.log('Error Code:' + response.status)
        }
    }).catch((e)=>{
        console.log(e)
    })
}
主要就是data参数、和header头信息要设置,这种传递格式就是payload格式
5、vue获取当前事件的dom元素: var thisDom = e.currentTarget;
在vue里面,经常用到click,如何获取执行click事件的当前dom对象呢?
<span @click="refresh($event,item.imgUrl)">事件</span> 
refresh:function(e,src){
    //vue获取当前事件的dom元素
    var thisDom = e.currentTarget;
}
6、图片验证码刷新
<el-form-item v-if="errorCount >= 1 " prop="captchaCode" :rules="rules.required">
<el-input v-model="login_pwd.captchaCode" class="code-input" placeholder="请输入图形验证码"></el-input>
<img class="img_valid" @click="rnd = Math.random()" :src="'/api/code/getCaptchaImage?rnd=' + rnd">
</el-form-item>
原理:当一个<img>的src改变时,页面会自动刷新这个<img>
code/getCaptchaImage,即是后台接口地址
7、方法传值:我们在input中的方法希望获取input的value,怎么获取呢?
可以通过$event这个对象,通过将$event传入方法
<input type="text" value="value" @input="change($event)"/> //我们可以成功的拿到我们希望的值
change (e) {
console.log(e.target.value)
this.value = e.target.value
}
8、v-cloak
如果出现{{}}的短暂出现的情况,可以通过添加v-cloak来处理。
这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。
9、通过路由元信息meta实现不同路由展现不同页面
<template>
<el-container :class="['app uf-col']">
<template v-if="$route.meta.fullScreen">
<router-view></router-view>
</template>
<template v-else-if="$route.meta.homePages">
<Nav></Nav>
<router-view></router-view>
</template>
<template v-else>
<WHeader></WHeader>
<el-container>
<WMenu></WMenu>
<router-view></router-view>
</el-container>
</template>
</el-container>
</template>
//系统模块
export default [
{
path: '/login',
name: 'login',
component:() => import('@/views/system/login'),
meta:{fullScreen:true}
},
{
path:'/register',
name:'register',
component:() => import('@/views/system/register'),
meta:{requireAuth:true,fullScreen:true}
}, export default [
{
path:'/rescue',
name:'rescue',
component:() => import('@/views/pages/rescue'),
meta:{homePages:true}
}
]
然后我们再看下路由导航守卫,加上homePages:如果路由元信息里面requireAuth为true,或者homePages为true,都不拦截
router.beforeEach((to, from ,next) => {
    const token = store.getters.userInfo
    if(to.matched.some(record => record.meta.requireAuth || record.meta.homePages)){
        next()
    }else{
        if(token){
            next()
        }else{
            if(to.path==="/login"){
                next()
            }else{
                next({path:'/login'})
            }
        }
    }
    return
})
10、elementUI的默认提示框样式修改
今天用element ui ,做了个消息提示,发现提示的位置总是在上面
可是我想让提示的位置到下面来,该怎么办?
最后还是看了官方的api
原来有个自定义样式属性 customClass 设置下就好了


Vue使用中遇到问题汇总(二)的更多相关文章
- Vue使用中遇到问题汇总(三)
		
1.后台session过期前端跳转到登录页面 axios 拦截器 可以拦截请求和返回,对于失效的情况后端可以返回一个状态码,如401, 使用axios拦截时判断是401,则跳转到指定页面,如login ...
 - Vue使用中遇到问题汇总(一)32个
		
1.安装一些需要编译的包:提示没有安装python.build失败等 因为一些 npm 的包安装需要编译的环境,mac 和 linux 都还好,大多都齐全 .window 用户依赖 visual st ...
 - QC学习二:QC使用中问题点汇总
		
QC 使用中问题点汇总,包括以下方面: 1.不兼容IE7,IE8的问题(服务器端设置) 2.无法在Win 7下正常下载页面(客户端设置) 3.在QC中填写中文内容后无法正常提交到数据库(客户端设置) ...
 - QC使用中问题点汇总
		
QC 使用中问题点汇总,包括以下四个方面: 1.不兼容IE7,IE8的问题(服务器端设置) 2.无法在Win 7下正常下载页面(客户端设置) 3.在QC中填写中文内容后无法正常提交到数据库(客户端设置 ...
 - Android进阶(十八)AndroidAPP开发问题汇总(二)
		
Android进阶(十八)AndroidAPP开发问题汇总(二) 端口被占用解决措施: Android使用SimpleAdapter更新ListView里面的Drawable元素: http://ww ...
 - Web前端-Vue.js必备框架(二)
		
Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...
 - PHP常见面试题汇总(二)
		
PHP常见面试题汇总(二) //第51题:统计一维数组中所有值出现的次数?返回一个数组,其元素的键名是原数组的值;键值是该值在原数组中出现的次数 $array=array(4,5,1,2,3,1, ...
 - Flask + vue 前后端分离的 二手书App
		
一个Flask + vue 前后端分离的 二手书App 效果展示: https://blog.csdn.net/qq_42239520/article/details/88534955 所用技术清单 ...
 - vue 表单校验(二)
		
vue 表单校验(二) vue element-ui表单校验 由于现在使用element-ui进行form表单校验,因而使用其自带的校验规则进行校验,发现有些并不是那么好校验,或者说是校验起来很繁琐, ...
 
随机推荐
- 微信小程序实战篇-下拉刷新与加载更多
			
下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 2. 监听scroll-view,自定义下拉刷新,还记得scroll-view里面有一个binds ...
 - OpenCL学习笔记(二):并行编程概念理解
			
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 并行编程的需求是显而易见的,其 ...
 - CentOS7.5字体美化
			
背景知识 有衬线 (Serif) 无衬线 (Sans Serif) 和等宽 (Monospace) 字型 1 有衬线 (Serif) 字型是比较正式的字体,比划粗细不一,在笔划的边缘有装饰部分(我的理 ...
 - php jsonp跨域访问
			
项目中有个上传图片需要实时预览的,但又是两个系统的访问,故想了一下解决方案: 在新系统中上传图片后处理设置session,旧系统跨域访问获取对应session,进行对应模板预览. 上传图片预览按钮对应 ...
 - react native项目增加devtools工具
			
第一步:安装react devtools工具 在当前项目中打开命令行,添加react devtools工具,因为运行的工具有九十几M,下载时需要时间,请耐心等待 yarn add react-devt ...
 - python正则的中文处理(转)
			
匹配中文时,正则表达式规则和目标字串的编码格式必须相同 print sys.getdefaultencoding() text =u"#who#helloworld#a中文x#" ...
 - HDU3466 Proud Merchants [背包]
			
题目传送门 Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/O ...
 - Eclipse 报 "The builder launch configuration could not be found" 错误的解决办法
			
http://blog.csdn.net/defonds/article/details/26340561 Eclipse 忽然报 "The builder launch configura ...
 - Git常用命令速查手册
			
Git组成 1.初始化仓库 git init 2.将文件添加到仓库 git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文 ...
 - ansible用playbook实现定期监控各机器磁盘和进程状态
			
目标:用ansible定期监控各机器的磁盘空间状况 和进程运行状况 1)配置playbook脚本,实现对磁盘空间 和 特定进程运行状态的每日检查: 2)通过邮件插件,把检测结果发到ops邮箱: 一.p ...