J'ai lutté avec cela pendant quelques heures, donc je voudrais ajouter quelques clarifications pour cela, tous les exemples notés ici, se réfère à 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, donc je voudrais fournir mon expérience pour toute personne ayant le même problème que moi.
Normalement, vous enregistrez seulement l'id de l'option désiré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 html partiel modèle.html
Model: <select ng-model="selected_model"
ng-options="model.id_model as model.name for model in models" ></select>
En fait, je voulais souligner que cette pièce " model.id_model as model.name for model in models " le " modèle.id_modèle "utilise l'identifiant du modèle pour la valeur afin que vous puissiez le faire correspondre avec la méthode " mainObj.id_model "qui est aussi le " modèle_sélectionné ", il s'agit juste d'une valeur ordinaire, de même que " comme model.name "est l'étiquette pour le répéteur, enfin " modèle dans modèles " est juste le cycle régulier que nous connaissons tous.
J'espère que cela aidera quelqu'un, et si c'est le cas, merci de voter en faveur du projet :D