1.this问题
不要在选项属性或回调上使用箭头函数,
比如
created: () => console.log(this.a) 或
vm.$watch('a', newValue => this.myMethod())。
因为箭头函数是和父级上下文绑定在一起的,this 不会是如你所预期的 Vue 实例,
经常导致 Uncaught TypeError: Cannot read property of undefined 或
Uncaught TypeError: this.myMethod is not a function 之类的错误。
2.使用vscode遇到代码eslint自动将单引号换成双引号问题,解决办法:在VScode设置(setting.json)中,配置如下规则,将下面的条件true换成false
// Validate vue-html in <template> using eslint-plugin-vue
"vetur.validation.template": true
不行的话,使用
"prettier.singleQuote": true,
"prettier.semi": false,
"vetur.format.defaultFormatter.html": "js-beautify-html",
"vetur.format.defaultFormatterOptions": {
"wrap_attributes": "force-aligned"
},
这是因为在VSCode1.7.2
中替换了内置格式化插件。