Lodash在角度4中,这是未定义的
问题描述:
我在角度4中使用lodash并且正在使用时间来创建数字数组。我不明白为什么,但我不能在lodash函数内部使用'this',因为它是未定义的,我必须首先将它指定为self。Lodash在角度4中,这是未定义的
private arrayNum: number[] = [];
ngOnInit() {
let self = this;
_.times(31, function (n) {
self.arrayNum.push(n + 1);
});
}
任何人都可以请解释这是为什么,或者如果我正在与lodash一个错误。谢谢
答
您可以使用箭头功能来保持相同的上下文。
_.times(31, (n) => {
this.arrayNum.push(n + 1);
});
+0
谢谢你的回答,不幸@Pengyy的回答比你快一点,因为他们是相同的,我会给他 – Simon245
使用脂肪箭头语法...... – Alex