vue中this的知识点
this对于程序员来说不陌生,但是很多错误就跟this有关;
前端jser,this指向的是谁是一个老生常谈的问题。
教程上有很多区分方法,但当一个错误抛出来的时候恰好你正在学习阶段。以为是自己书写的语法错误,其实不然。是基础知识点掌握不牢固;
ES5中
- this总是代表它的直接调用者, 例如 obj.func ,那么func中的this就是obj
- 在默认情况(非严格模式下,未使用 'use strict'),没找到直接调用者,则this指的是 window
- 在严格模式下,没有直接调用者的函数中的this是 undefined
使用call,apply,bind(ES5新增)绑定的,this指的是 绑定的对象
一句话:该函数被调用的对象
ES6中:
箭头函数中的this是定义时的对象;
默认指向在定义它时,它所处的对象(宿主对象),而不是执行时的对象
getData() {
var urls = this.HOME + '?cityname=%E5%AE%89%E9%98%B3&dtype=json&key=0479f84ce021cf657e76e6185adb06c1';
this.$axios.get(urls).then(res=> {
console.log(res.data.result.data.weather);
this.list=res.data.result.data.weather;
console.log(res)
})
},