我知道這可能已被多次詢問,但我覺得我一切正常,但我似乎無法爲使用AngularJS的選擇設置默認選項。角度,選擇,設置默認
我使用: AngularJS,角UI路由器,引導
相關HTML:
<select ng-model="selectedCompany" ng-options="c.name for c in companies" class="form-control"></select>
汁服務:
vapelog.factory('Juices', function($http, $q){
var Juices = {
get : function() {
var promise = $http.get('/juices').then(function(data){
return data.data;
});
return promise;
},
show : function(id) {
var deferred = $q.defer();
$http.get('/juices/'+id).then(function (juice) {
$http.get('/companies').then(function (companies) {
juice.companies = companies;
deferred.resolve(juice);
}, function getAcctError() { deferred.reject(); });
}, function getUserError() { deferred.reject(); });
return deferred.promise;
},
}
return Juices;
});
在我的控制器:
vapelog.controller('JuiceDetailCtrl', ['$scope','$stateParams','Juices',function($scope, $stateParams, Juices) {
var id = $stateParams.juice;
$scope.juice = {};
$scope.selectedCompany = {};
Juices.show(id).then(function(juice){
$scope.juice = juice.data;
$scope.companies = juice.companies.data;
$scope.reviews = $scope.juice.reviews;
$scope.selectedCompany = $scope.juice.company;
}, function(){
console.log('error');
});
$scope.tfIcon = function(item){
if(item == "1"){
return 'glyphicon-ok';
} else {
return 'glyphicon-remove';
}
}
}]);
一切預填充,選擇框中包含了所有的項目,但它不預先選擇項目。它從一個空白選擇選項開始。
$ scope.companies變量的設置和填充選擇選項的事實使我認爲$ http.get()已經成功返回,因此$ scope.selectedCompany也應該已經被填充。不過,我可能是錯的。
如果有人能看到我要去的地方出錯,並且可以啓發我,那會很棒。
這很好用。我猜想具有相同簽名的2個對象不等於同一個對象。 –