2017-06-13 23 views
0

我在角度4中使用lodash并且正在使用时间来创建数字数组。我不明白为什么,但我不能在lodash函数内部使用'this',因为它是未定义的,我必须首先将它指定为self。Lodash在角度4中,这是未定义的

private arrayNum: number[] = []; 

ngOnInit() { 
let self = this; 
_.times(31, function (n) { 
    self.arrayNum.push(n + 1); 
}); 
} 

任何人都可以请解释这是为什么,或者如果我正在与lodash一个错误。谢谢

+3

使用脂肪箭头语法...... – Alex

回答

3

你可以使用arrow function回调来保持上下文。

_.times(31, (n) => { 
    this.arrayNum.push(n + 1); 
}); 
+0

哇,这是极快的。谢谢你的回答 – Simon245

+0

@ Simon245欢迎您。 :-) – Pengyy

1

您可以使用箭头功能来保持相同的上下文。

_.times(31, (n) => { 
    this.arrayNum.push(n + 1); 
}); 
+0

谢谢你的回答,不幸@Pengyy的回答比你快一点,因为他们是相同的,我会给他 – Simon245

相关问题