2016-11-15 3 views
0

ich ein angular2-Meteor Projekt haben, habe ich eine colecction dieses Objekts:aktualisieren Array Werte Reaktiv

{ name:"name1", value:4 } 

und ich möchte eine Reihe von Werteigenschaft wie:

[1, 2, 3, 4] 

und ich will Die in der Sammlung vorgenommenen Änderungen werden reaktiv auf meinem Array angezeigt. Beispiel: Wenn ich ein neues Dokument in meine Sammlung einfüge, möchte ich ein neues Element in meinem Wertefeld haben. In meinem Client-Seite i zu dieser Sammlung wie diese abonnieren:

this.collectSub = MeteorObservable.subscribe('collection', options).subscribe(() => { 
    this.objects = MyCollection.find({}, { 
     sort: { 
     name: nameOrder 
     } 
    }).zone(); 
    }); 

Ich versuche Kartenfunktion über this.object zu verwenden, aber diese Arbeit nicht.

Jede Hilfe ist willkommen. Dank

Antwort

0

haben Sie versuchen, diese:

this.collectSub = MeteorObservable.subscribe('collection', options).subscribe(() => { 
    this.array = MyCollection.find({}, { 
     sort: { 
     name: nameOrder 
     } 
    }).map((item) => item.value).zone(); 
    }); 

??

wenn Sie den Plan nicht auf dem Cursor verwenden möchten, können Sie Karte wie folgt verwenden:

let collectionMock = [{name:"name1", value:1},{name:"name2", value:2},{name:"name3", value:3},{name:"name1", value:4}]; 
let result = collectionMock.map((item) => item.value); 

Ich weiß nicht wirklich, die Winkel Art und Weise, aber ich denke, wenn „this.objects“ ist eine ReactiveVar können Sie Ihre Map-Ausführung mit Tracker.autorun wie:

umbrechen
Verwandte Themen