我们在用Vue做开发时,经常会遇到类似安装超时,依赖包未安装等情况,今天我就汇总总结一下Vue开发中可能经常会碰见的问题。
Q1:安装超时(install timeout)
/* 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.orgQ2:安装一些需要编译的包:提示没有安装python、build失败等
export default { name: 'page-router-view', data () { return { tabs: [ { title: '财务信息', url: '/userinfo' }, { title: '帐号信息', url: '/userinfo/base' } ] } } }为什么要 return 一个数据对象呢? 官方解释如下: data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!简言之,组件复用下,不会造成数据同时指向一处,造出牵一发而动全身的破问题...
<!--比如用了第三方框架,或者一些封装的内置组件; 然后想绑定事件--> <!--// 错误例子1--> <el-input placeholder="请输入特定消费金额 " @mouseover="test()"></el-input> <!--// 错误例子2--> <router-link :to="item.menuUrl" @click="toggleName=''"> <i :class="['fzicon',item.menuIcon]"></i> <span>{{item.menuName}}</span> </router-link> <!--上面的两个例子都没法触发事件!!!--> <!--究其原因,少了一个修饰符 .native--> <router-link :to="item.menuUrl" @click.native="toggleName=''"> <i :class="['fzicon',item.menuIcon]"></i> <span>{{item.menuName}}</span> </router-link> <!--明明官方文档有的,一堆人不愿意去看,,Fuck--> <!--https://cn.vuejs.org/v2/guide/components.html#给组件绑定原生事件-->Q6:我用了 axios , 为什么 IE 浏览器不识别(IE9+)
npm install es6-promise // 在 main.js 引入即可 // ES6的polyfill require("es6-promise").polyfill();Q7:我在函数内用了this.xxx=,为什么抛出Cannot set property ‘xxx’ of undefined;
箭头函数: 会强行关联当前运行区域为 this 的上下文;