累了的时候看看这个 |
下午搭建vue和后台数据交互,刚开使用vue-resource请求成功,获取不了返回数据,后来改用axios数据Ok了,接下来通过set去修改默认data,一直提示set不能识别【this.$set(this.$data,'txt',response.data);】,各种调试百度,都未能解决。最后发现是this的问题,在methods里面this不能指向到data()里面的数据,在methods方法前面通过_this=this,修改【_this.$set(_this.$data,'txt',response.data);】就可以了,如果使用箭头函数就不糊出现这个问题了,还是学艺不精,花了好长时间才解决,最好直接改成箭头函数,也省略了_this。
箭头函数和function的最重要的区别就是不修改this的指针。例如:
var name = 'Henry';
function Person() {
this.name = 'Peter';
}
Person.prototype.reportName = function () {
setTimeout(function () {
// this指向了全局,也就是window
console.log(this.name);
});
}
Person.prototype.reportName2 = function () {
setTimeout( () => {
// this指向的还是Person的实例本身
console.log(this.name);
});
}
const person = new Person;
person.reportName(); // Henry
person.reportName()2; // Peter
过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号