Q1:安装超时(install timeout)
- 可以尝试使用cnpm来安装依赖,它是一个国内的npm镜像版本,安装速度会更快。你可以通过以下命令安装cnpm:`npm install -g cnpm --registry=https://registry.npm.taobao.org`
- 另外,你也可以尝试使用yarn或npm改变源的方式来安装依赖。你可以使用nrm模块或npm config和yarn config命令来改变源。具体的使用方法可以参考相关文档。
Q2:安装一些需要编译的包:提示没有安装python、build失败等
- 一些npm包的安装需要编译的环境,如果你在Windows上遇到这个问题,可能需要安装Visual Studio的一些库和Python 2+。你可以尝试安装windows-build-tools和Python 2.x来解决这个问题。
Q3:can’t not find ‘xxModule’ - 找不到某些依赖或者模块
- 当你遇到找不到某些依赖或模块的问题时,一般可以尝试卸载这个模块,然后重新安装。这通常可以解决问题。
Q4:data functions should return an object
- 在Vue组件中,data必须返回一个对象。确保你的data函数返回一个对象,例如:
```
export default {
data() {
return {
// your data properties here
}
}
}
```
这样做的原因是为了避免在组件复用时出现数据共享的问题。
Q5:我给组件内的原生控件添加事件,为什么不生效了!
- 如果你给组件内的原生控件添加事件,但事件没有生效,可能是因为你没有使用`.native`修饰符。例如:
```
<router-link :to="item.menuUrl" @click.native="toggleName=''">
<i :class="['fzicon',item.menuIcon]"></i>
<span>{{item.menuName}}</span>
</router-link>
```
使用`.native`修饰符可以让Vue将事件绑定到原生控件上。
Q6:我用了axios,为什么IE浏览器不识别(IE9+)?
- 这是因为IE浏览器不支持Promise。你可以通过安装es6-promise来解决这个问题。在你的main.js文件中引入es6-promise即可。
Q7:我在函数内用了this.xxx=,为什么抛出Cannot set property ‘xxx’ of undefined?
- 这是因为this的指向问题。在axios、promise或setInterval等函数中,this默认指向最外层的全局钩子,而不是Vue实例。解决这个问题的方法有两种:
- 使用暂存法,在函数内先缓存this,例如:`let that = this;`,然后在函数中使用`that.xxx =`。
- 使用箭头函数,箭头函数会强制将当前运行区域的上下文作为this的指向。
Q8:我看一些Vue教程有一些@click.prevent、v-demo.a.b这样的写法,是什么意思?
- `@click.prevent`是事件+修饰符的写法,表示点击事件并阻止默认行为。
- `v-demo.a.b`是自定义指令+修饰符的写法。修饰符的作用是给事件增加一些额外的功能,比如阻止事件冒泡、阻止默认行为等。你也可以自定义修饰符,具体的方法可以参考相关文档。