2017-06-21 7 views
1

Ich habe ein Problem mit einem Wert in $ scope.data, der sich nicht ändert. Sie können in jsfiddle sehen - jsfiddle

Wenn Sie Currency: 'UAH' gesetzt, nachdem Sie gesetzt Currency: 'RUB' Sie den Wert Qty:2 sehen wird auf den Wert von 'UAH' wie dies gleich sein: prix = {"qty":"2","amount":"1276 UAH"}

Wie ich das einstellen kann Wert zu $ ​​scope.data?

P. S .: mit AngularJS 1.2.23 ist es Arbeit richtig

Danke.

Antwort

1

Wie @Umer sagte, können Sie nicht den Überblick verwenden durch nicht eindeutige Werte. So ändern Sie den Code wie folgt:

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions track by option.amount" 
ng-model="data.selectedOption"></select> 

Arbeits Fiddle: https://jsfiddle.net/8842yh49/2/

+0

Vielen Dank, es ist Arbeit –

+0

Sie sind willkommen :) – Vivz

1

Sie können "Track by" nicht für nicht eindeutige Werte verwenden, da "track by" eine Eins-zu-Eins-Zuordnung erfordert. Die Verwendung von 'qty' funktioniert nicht, da es nicht eindeutig ist, da wty 1,2,3 und 4 unterschiedliche Werte für jedes Preisobjekt darstellen (nicht eins zu eins). Fügen Sie die folgende Änderung hinzu und es sollte funktionieren.

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions track by option.qty" 
    ng-model="data.selectedOption"></select> 

Sollte sein, ng-ausgewählt ist, so dass, wenn die Währung der erste Wert geändert wird, wird automatisch gewählt:

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions" 
    ng-model="data.selectedOption" ng-selected="$first"></select> 
+0

Danke, ich verstehe das Arbeitsprinzip –

Verwandte Themen