Ich hatte ein paar Stunden damit zu kämpfen, daher möchte ich einige Erläuterungen hinzufügen. Alle hier aufgeführten Beispiele beziehen sich auf Fälle, in denen die Daten aus dem Skript selbst geladen werden und nicht aus einem Dienst oder einer Datenbank. Daher möchte ich meine Erfahrung jedem zur Verfügung stellen, der das gleiche Problem hat wie ich.
Normalerweise speichern Sie nur die ID der gewünschten Option in Ihrer Datenbank. Zeigen wir sie also an
service.js
myApp.factory('Models', function($http) {
var models = {};
models.allModels = function(options) {
return $http.post(url_service, {options: options});
};
return models;
});
controller.js
myApp.controller('exampleController', function($scope, Models) {
$scope.mainObj={id_main: 1, id_model: 101};
$scope.selected_model = $scope.mainObj.id_model;
Models.allModels({}).success(function(data) {
$scope.models = data;
});
});
Zum Schluss das teilweise html model.html
Model: <select ng-model="selected_model"
ng-options="model.id_model as model.name for model in models" ></select>
Grundsätzlich wollte ich das Stück " model.id_model als model.name für model in models " anzeigen. Das " model.id_model " verwendet die ID des Modells für den Wert, damit Sie mit dem " mainObj.id_model " übereinstimmen können, das auch ist das " selected_model ", dies ist nur ein einfacher Wert, auch " as model.name " ist die Bezeichnung für den Repeater, schließlich " model in models" " nur der reguläre Zyklus, den wir alle kennen.
Hoffe, das hilft jemandem, und wenn ja, stimmen Sie bitte ab: D.
ng-optionersetzt den<option ng-repeat="value in prop.values">{{value}}</option>Dank noch einmal