2017-06-13 41 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

相關問題