Die gewählte Angular-Direktive wird nicht aktualisiert

8

Ich habe dieses großartige Tutorial ( link ) für Auserwählte und Angulare (der Code ist ziemlich derselbe) befolgt )

Hier ist meine Anweisung:

%Vor%

Hier ist html:

%Vor%

Was ich möchte ist, wenn der Benutzer auf die Schaltfläche "Bearbeiten" klickt, erscheint das modale Fenster und die Kategorien, die ausgewählt wurden, bevor Sie auf "Bearbeiten" klicken, werden im modalen Fenster ausgewählt.

Hier ist der Teil des Controllers:

%Vor%

Ich habe $ scope.selectedCategories geloggt und alles ist in Ordnung, aber aus irgendeinem Grund ist nichts ausgewählt.

Was mache ich also falsch und wie kann ich es beheben?

BEARBEITEN

Ich habe bemerkt, wenn ich einige Elemente auswähle, schließe modal, öffne es wieder, ausgewählte Werte sind wieder da, obwohl ich diese Zeile in $ watch

stecke %Vor%

BEARBEITEN 2

Also habe ich dieses Problem für eine Weile verlassen, weil ich wichtigere Dinge zu erledigen hatte. Ich habe versucht, ohne gewählt, d. H. Mit "normalen" wählen und Code funktioniert. Also definitiv funktioniert meine gewählte Direktive nicht wie es sollte.

    
hyperN 15.08.2013, 21:46
quelle

2 Antworten

11

Ich habe es gelöst, die Lösung ist eigentlich ziemlich einfach und unkompliziert (wenn man versteht, wie angulare Anweisungen funktionieren). Hier ist der ganze Code für die Direktive:

%Vor%     
hyperN 01.09.2013, 11:45
quelle
1

Erweiterte Version des Kommentars zur vorherigen Lösung. Gleich wie der Autor, in HTML-Markup stelle ich Source-Collection wie chosen="vm.myCollection" zur Verfügung, tatsächlich Parsing ng-options oder ng-repeat -Eigenschaft mit Regexp ist besser, vielleicht später. Im Gegensatz zu OP verwende ich $ watchCollection für ein Array und rufe Unwatches auf, wenn der Scope kurz davor ist, zu zerstören.

%Vor%     
Hikiko 21.08.2015 14:02
quelle