Angenommen, ich habe eine Mitarbeiterklasse, die ungefähr so aussieht:
%Vor% Angenommen, wir haben das erste Employee
s, das ungefähr so aussieht:
Wir können auch davon ausgehen, dass Mitarbeiter manchmal eingestellt oder entlassen werden. Etwas nach dem Motto:
%Vor%Ich möchte Mitarbeiter in einem PrimeNg-Baum anzeigen.
Das Baumwidget erfordert, dass die anzuzeigenden Daten der treeNode-Schnittstelle entsprechen, die wie folgt aussieht:
%Vor%Hauptfrage: Wie ändere ich die Daten am besten in TreeNodes, ohne meine Employee-Klasse zu ändern?
Dinge, über die ich nachdenke:
So sieht meine EmployeeTree-Komponente im Moment aus:
%Vor%Option 1 - Erstellen Sie eine Pipe, mit der ein Mitarbeiter in TreeNode
umgewandelt wirdIch denke, das würde meine Vorlage wie folgt aussehen lassen:
%Vor%Und ich würde eine Pipe erstellen, die so etwas macht:
%Vor%Vor- / Nachteile:
Option 2 - Innerhalb der Komponente pflegen Sie eine separate Struktur für die Struktur
%Vor%Ich denke, dass ich den Mitarbeiter dazu bringen könnte, ein Ereignis auszulösen, das sich bei Änderungen ändert. Das könnte mir etwas einbringen.
Im Allgemeinen ist es am besten, Angular2 zu verwenden, um so etwas zu tun.
Zusammenfassend möchte ich ein Widget verwenden, das Daten in einem etwas anderen Format als dem erwartet, in dem ich es speichere. Was ist der Standard-angular2-Weg, um meine Daten in das Widget zu massieren? Gibt es spezielle angular2 Soße, die mir hier helfen? Sollte ich zwei getrennte Modelle pflegen? Möglicherweise könnte mein Baum 100 oder möglicherweise 1000 Stücke enthalten, so dass ich mich etwas mit der Leistung beschäftige.
Sie können eine Unterklasse von Employee haben, wo sie TreeNode
entsprichtDann in Ihrer Komponente
%Vor%