Eu lutei com isso por algumas horas, então gostaria de acrescentar alguns esclarecimentos, todos os exemplos mencionados aqui referem-se a casos em que os dados são carregados a partir do próprio script, não a algo proveniente de um serviço ou banco de dados, então, gostaria de fornecer minha experiência para qualquer pessoa que tenha o mesmo problema que eu.
Normalmente você salva apenas o ID da opção desejada no seu banco de dados, então ... vamos mostrá-lo
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;
});
});
Finalmente, o html parcial model.html
Model: <select ng-model="selected_model"
ng-options="model.id_model as model.name for model in models" ></select>
basicamente, eu queria apontar essa peça " model.id_model como model.name para model nos modelos " the " model.id_model " usa o id do modelo para o valor, para que você possa combinar com o " mainObj.id_model ", que também é o " selected_model ", este é apenas um valor simples, também " as model.name " é o rótulo para o repetidor, finalmente " model in models " é apenas o ciclo regular que todos conhecemos.
Espero que isso ajude alguém e, se isso acontecer, vote: D
ng-optionestá substituindo os<option ng-repeat="value in prop.values">{{value}}</option>agradecimentos novamente