2017-05-30 3 views
0

Hi Leute, die in einen Fehler laufen, denke ich, ist in Bezug auf Umfang, den ich hatte gehofft, dass ich ein paar Ratschläge erhalten könnte. Ich habe ein Array, das ich durchlaufe, auf das ich die Ergebnisse schieben möchte. Wenn ich versuche, die Ergebnisse zu public myArray: Array innerhalb von this.test.forEach Ich bekomme den folgenden Fehler nicht auf Typ void vorhanden. Jeder Rat sehr geschätzt.Aktualisierung eines Arrays innerhalb der Foreach-Methode Angular

export class componentName implements OnInit { 
public myArray:Array<any>; 

ngOnInit() { 
    this.test = diff(this.example1, this.example2); 

    this.test.forEach(function(part){ 
    let span = document.createElement('span'); 
    span.appendChild(document.createTextNode(part.value)); 

    this.myArray.push(span); // error does not exist on type void 
    }); 
} 
+3

Mögliches Duplikat [Wie der richtigen \ 'diese \' Kontext in einem Rückruf zugreifen?] (Https://stackoverflow.com/questions/20279484/how-to-access-the-correct-this -context-inside-a-callback) – echonax

Antwort

3

Ihr erster Fehler ist, dass Sie den falschen Raum für this verwenden.

this.test.forEach(function(part){ 

Sollte

this.test.forEach((part)=>{ 

und Sie müssen Ihre Array initialisieren.

public myArray:Array<any> = []; 
Verwandte Themen