Dies ist meine Auswahl in der Ansicht:
%Vor%Und das ist der relevante Code in meinem Controller:
%Vor%Die vom Server geholten Label sind theoretisch wie diese:
%Vor% Und das übergebene "from-outside" Label, "passedLabel", ist theoretisch wie EINES von denen in $scope.labels
auch, zB:
... ich sage theoretisch theoretisch , weil ich empirisch sehe, dass sie anders sind, weil eckel ihnen etwas hinzufügt (zB $$hashKey
, oder __proto__
).
Aufgrund der Differenz entspricht also $scope.selectedLabel.selected = $scope.passedLabel
nicht dem entsprechenden Element in der ui-select (sie sind nicht das gleiche Objekt), und das Ergebnis davon ist Dieses Verhalten:
Wie kann ich die anfängliche Auswahl richtig einstellen ? Gibt es eine Möglichkeit, ID anstelle von Objektvergleich zu verwenden? Ich möchte vermeiden, ein for
wie folgt zu haben:
Ich bin mir ziemlich sicher, dass es wie erwartet funktionieren würde, aber ich würde das for
nennen müssen, nachdem der Ajax zurückgegeben wurde ... und ich habe auch andere ui-selects
Wenn Sie den von Ihnen erwähnten Zustand erreichen möchten, übergeben Sie einfach die korrekte Referenz an Ihr Modell.
Nach dem Erfolg des Fetchlabel-Aufrufs legen Sie die Werte in Labels fest. Nun müssen Sie beim Erfolg dieser Funktion die Funktion aufrufen, die presentLabel
abruft.
Sobald Sie die Daten des aktuellen Labels erhalten haben, können Sie den Index dieses Objekts im Etikettenbereich abrufen.
%Vor%Dies wird Ihren Zweck lösen.