web前端 - Vue常见问题汇总及解决方案
Q1:安装超时(install timeout)
方案有这么些:
cnpm : 国内对npm的镜像版本
/*
cnpm website: https://npm.taobao.org/
*/
npm install -g cnpm --registry=https://registry.npm.taobao.org
// cnpm 的大多命令跟 npm 的是一致的,比如安装,卸载这些
yarn 和 npm 改源大法
//使用 nrm 模块 : www.npmjs.com/package/nrm
npm config : npm config set registry https://registry.npm.taobao.org
yarn config : yarn config set registry https://registry.npm.taobao.org
Q2:安装一些需要编译的包:提示没有安装python、build失败等
因为一些 npm 的包安装需要编译的环境,mac 和 linux 都还好,大多都齐全 window 用户依赖 visual studio 的一些库和python 2+, windows的小伙伴都装上: windows-build-tools python 2.x
Q3:can’t not find ‘xxModule’ - 找不到某些依赖或者模块
这种情况一般报错信息可以看到是哪个包抛出的信息.,一般卸载这个模块,安装重新安装下即可.
Q4:data functions should return an object
这个问题是 vue 实例内,单组件的data必须返回一个对象;如下
export default {
name: ‘page-router-view’,
data () {
return {
tabs: [
{
title: ‘财务信息’,
url: ‘/userinfo’
},
{
title: ‘帐号信息’,
url: ‘/userinfo/base’
}
]
}
}
}
为什么要 return 一个数据对象呢? 官方解释如下: data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!简言之,组件复用下,不会造成数据同时指向一处,造出牵一发而动全身的破问题…
Q5:我给组件内的原生控件添加事件,怎么不生效了!!!
<el-input placeholder="请输入特定消费金额 " @mouseover=“test()”>
<router-link :to=“item.menuUrl” @click=“toggleName=’’”>
{{item.menuName}}
<router-link :to=“item.menuUrl” @click.native=“toggleName=’’”>
{{item.menuName}}
Q6:我用了 axios , 为什么 IE 浏览器不识别(IE9+)
那是因为 IE 整个家族都不支持 promise, 解决方案:
npm install es6-promise
// 在 main.js 引入即可
// ES6的polyfill
require(“es6-promise”).polyfill();
Q7:我在函数内用了this.xxx=,为什么抛出Cannot set property ‘xxx’ of undefined;
这又是this的套路了…this是和当前运行的上下文绑定的…
一般你在axios或者其他 promise , 或者setInterval 这些默认都是指向最外层的全局钩子.
简单点说:“最外层的上下文就是 window,vue内则是 Vue 对象而不是实例!”;
解决方案:
暂存法: 函数内先缓存 this , let that = this;(let是 es6, es5用 var)
箭头函数: 会强行关联当前运行区域为 this 的上下文;
Q8:我看一些Vue教程有这么些写法,是什么意思@click.prevent,v-demo.a.b;
就拿这两个例子来说吧.
@click.prevent : 事件+修饰符 , 作用就是点击但又阻止默认行为。
v-demo.a.b: 自定义指令+修饰符. 具体看你什么指令了,修饰符的作用大多是给事件增加一些确切的拓展功能,比如阻止事件冒泡,阻止默认行为,访问到原生控件,结合键盘快捷键等等 。
可以自定义修饰符么?也是可以的。可以通过全局 config.keyCodes 对象自定义键值修饰符别名:
Q9:为什么我的引入的小图片渲染出来却是 data:image/png;base64xxxxxxxx
这个是 webpack 里面的对应插件处理的,对于小于多少 K 以下的图片(规定的格式)直接转为 base64格式渲染;
具体配置在webpack.base.conf.js里面的rules里面的 url-loader,这样做的好处:在网速不好的时候先于内容加载和减少http的请求次数来减少网站服务器的负担。
Q10:Component template shold contain exactly one root element.If you are useing v-if on multiple elements , xxxxx
大体就是说,单组件渲染 DOM 区域必须要有一个根元素,不能出现同级元素. 可以用v-if和v-else-if指令来控制其他元素达到并存的状态。
换个直白的解释,就是有一个唯一的父类,包裹者; 比如一个 div(父包含块) 内部多少个同级或者嵌套都行,但是最外层元素不能出现同级元素!
Q11:跨域问题怎么破!比如No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
这种问题老生常谈了,我就不细说了…大体说一下;
1: CORS , 前后端都要对应去配置,IE10+
2: nginx 反向代理,一劳永逸 <-- 线上环境可以用这个
线下开发模式,比如你用了vue-cli, 里面的 webpack 有引入了proxyTable这么个玩意, 也可以做接口反向代理。
// 在 config 目录下的index.js
proxyTable: {
“/bp-api”: {
target: “http://new.d.st.cn”,
changeOrigin: true,
// pathRewrite: {
// “^/bp-api”: “/”
// }
}
}
// target : 就是 api 的代理的实际路径
// changeOrigin: 就是是变源,必须是…
// pathRewrite : 就是路径重定向,一看就知道
当然还有依旧坚挺的jsonp大法!不过局限性比较多,比较适合一些特殊的信息获取!
Q12:我需要遍历的数组值更新了,值也赋值了,为什么视图不更新!
那是因为有局限性啊,官方文档也说的很清楚,只有一些魔改的之后的方法提供跟原生一样的使用姿势(却又可以触发视图更新);
一般我们更常用(除了魔改方法)的手段是使用:this.$set(obj,item,value);
Q13:为什么我的组件间的样式不能继承或者覆写啊!
单组件开发模式下,请确认是否开启了 css模块化功能!也就是scoped(vue-cli 里面配置了,只要加入这个属性就自动启用)。
为什么不能继承或者覆写呢,那时因为每个类或者 id 乃至标签都会给自动在css后面添加hash! 比如:
// 写的时候是这个
.trangle{}
// 编译过后,加上了 hash
.trangle[data-v-1ec35ffc]{}
这些都是在 css-loader 里面配置!!!
Q14:路由模式改为history后,除了首次启动首页没报错,刷新访问路由都报错!
必须给对应的服务端配置查询的主页面…也可以认为是主路由入口的引导。
官方文档也有,为毛总有人不喜欢去看文档,总喜欢做伸手党。
Q15:我想拦截页面,或者在页面进来之前做一些事情,可以么?
可以的,各种路由器的钩子!!当然,记忆滚动的位置也可以做到,详情翻翻官网里面的文档。
Q16:TypeError: xxx is not a function
这种问题明显就是写法有问题…能不能动点脑子!!
Q17:Uncaught ReferenceError: xxx is not define
实例内的 data 对应的变量没有声明,你导入模块报这个错误,那绝逼是导出没写好。
Q18:Error in render function:”Type Error: Cannot read property ‘xxx’ of undefined”
这种问题大多都是初始化的姿势不对;比如引入echart这些…仔细去了解下生命周期,再来具体初始化;
vue 组件有时候也会(嵌套组件或者 props传递初始化)…也是基本这个问题
Q19:Unexpected token: operator xxxxx
大佬,这个一看就是语法错误啊,基本都是符号问题, 一般报错会给出哪一行或者哪个组件。
Q20:npm run build之后不能直接访问
大佬!你最起码得在本地搭个服务器才能访问好么!!
今天爱创课堂小编的分享就到这里了,有想学习前端,了解前端更多知识的同学,欢迎大家私信小编领取前端学习资料,也可以关注,点赞加分享,多多支持小编!!!
web前端 - Vue常见问题汇总及解决方案相关推荐
- 60个Vue常见问题汇总及解决方案
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 来源 | https://www.fly63.com/ Q1:安装超时(install ti ...
- Vue常见问题汇总及解决方案
Q1:安装超时(install timeout) 方案有这么些: cnpm : 国内对npm的镜像版本 /* cnpm website: https://npm.taobao.org/ */ npm ...
- 60 个 Vue 常见问题汇总及解决方案
以下内容来自公众号逆锋起笔,关注每日干货及时送达 来源 | https://www.fly63.com/ Q1:安装超时(install timeout) 方案有这么些: cnpm : 国内对n ...
- Web前端-Vue.js必备框架(一)
Web前端-Vue.js必备框架(一) <!DOCTYPE html> <html lang="en"> <head><meta char ...
- 辐射4核能选项用计算机失败,玩游戏出问题了?《辐射4》PC版常见问题汇总和解决方案...
玩游戏出问题了?<辐射4>PC版常见问题汇总和解决方案 2015-11-10 15:50:43来源:游戏下载编辑:评论(0) 万众期待的<辐射4>终于和我们见面了,但游戏刚刚发 ...
- Web前端-Vue.js必备框架(二)
Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...
- 明日方舟找回密码服务器出错,明日方舟登录常见问题汇总及解决方案介绍
明日方舟登录常见问题汇总及解决方案介绍,在登录的时候总是有或多或少的问题,今天就给大家带来了游戏的常见问题和解决方案,收藏备用吧. Q:登陆时显示网络状况不稳定如何解决? A:遇到类似问题,各位玩家可 ...
- 超级棒的170+款web前端开发工具汇总,千万要收藏好!
作者:web前端开发 我们与企业内部的Web开发团队进行了很多次交流,研究了很长时间,最后将Debug工具与Web前端开发工具整理汇总在了一起,这些工具对每个Web开发人员都非常有用. 这些工具将使您 ...
- web前端工程师知识汇总
分类: Web开发应用 一.何为Web前端工程师? 前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/ ...
最新文章
- 美国康奈尔大学计算机科学的教授,美国康奈尔大学教授Robbert van Renesse访问并做学术报告...
- SQL Server 大数据搬迁之文件组备份还原实战
- FireEye开启IPO大幕
- maven工程的多环境配置方案(profile)
- Apache自带的ab压力测试工具
- 利用pandas进行简单数据分析——医院销售数据分析案例
- npm init 自动创建 package.json 文件
- 常用的RGB颜色值参考表
- linux proftpd 用户,linux之proftpd搭建(随时盖楼)
- 基于深度学习的医学图像分割(一)
- Centos 下使用speedtest-cli 进行测速
- 根据图片快速设置IDEA启动的Banner效果
- 使用html2canvas和jspdf把网页保存pdf并下载
- oa html5管理系统模板,OA系统html5整站模板 后台模板
- 去重函数-【实践才是检验真理的唯一标准】
- 第一次博客(比特虫):网站favicon.ico图标介绍,制作
- android自定义起止时间的时间刻度尺,Android中自定义RecyclerView如何实现不固定刻度的刻度尺...
- Struts 2.0相关知识 摘自Struts2权威指南(李刚 著)
- 农村小学计算机教育论文参考文献,小学信息技术参考文献
- ObjectARX--自定义圆的实现
热门文章
- 【STM32F429】第13章 任务调度—抢占式,时间片和合作式
- 基于casbin的ABAC/RBAC权限实践
- P7毕业项目,猫狗大战。详解,含全部代码
- 2. 编写程序,求 x+xx+xxx+……(例如:8+88+888+……)前 n 项之和。x 和 n 的值由 用户从键盘输入。
- 2019电赛----模拟电磁曲射炮
- 【分层强化学习】HAC论文及代码
- C语言算数运算符顺序
- C. Carrying Conundrum
- AtCoder题解——Beginner Contest 170——F - Pond Skater
- 科普:DisplayPort与HDMI的比较