Lodash角4,这是未定义的

时间:2017-06-13 10:28:22

标签: angular typescript lodash

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

private arrayNum: number[] = [];

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

任何人都可以解释为什么这是或如果我犯了lodash的错误。感谢

2 个答案:

答案 0 :(得分:3)

您可以使用arrow function进行回调以保持上下文。

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

答案 1 :(得分:1)

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

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