J'ai eu du mal avec cela pendant quelques heures, alors je voudrais ajouter quelques clarifications à ce sujet, tous les exemples notés ici, se réfèrent à des cas où les données sont chargées à partir du script lui-même, pas quelque chose venant d'un service ou d'une base de données, je voudrais donc partager mon expérience avec toute personne ayant le même problème que moi.
Normalement, vous enregistrez uniquement l'id de l'option souhaitée dans votre base de données, alors ... montrons-le
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;
});
});
Enfin le modèle partiel html.html
Model: <select ng-model="selected_model"
ng-options="model.id_model as model.name for model in models" ></select>
fondamentalement, je voulais pointer cette pièce " model.id_model comme model.name pour le modèle dans les modèles " le " model.id_model " utilise l'id du modèle pour la valeur afin que vous puissiez correspondre avec le " mainObj.id_model " qui est également le " selected_model ", c'est juste une valeur simple, aussi " as model.name " est le libellé du répéteur, enfin " model in models " est juste le cycle régulier que nous connaissons tous.
J'espère que cela aide quelqu'un, et si c'est le cas, veuillez voter: D
ng-option
remplace à<option ng-repeat="value in prop.values">{{value}}</option>
nouveau les remerciements