我有一个回调,它可以是一个包含多个对象的数组,也可以只是一个对象:
$http.get($rootScope.appUrl + '/nao/abb/getStationData/' + selectedSupercustomer.superkund_id).success(function(data) {
$scope.stationOptions = data;
if($scope.stationOptions instanceof Array)
{
//Array of objects
angular.forEach($scope.stationOptions, function(option) {
console.log(option);
if(option.nao_adsl_stationer_id === $scope.abbData.nao_adsl_stationer_id) {
$scope.selectedStation = option;
}
})
}
else
{
//Only one object
if($scope.stationOptions.nao_adsl_stationer_id === $scope.abbData.nao_adsl_stationer_id) {
$scope.selectedStation = $scope.stationOptions;
}
}
});
如果它是一个包含多个对象的数组,我没有任何问题可以使用ng-options循环它们,但是当回调是一个对象时,如下所示:
{"nao_adsl_stationer_id":"33","namn":"Malm\u00f6 - Arl\u00f6v","stationskod":"ARV","ipserie_id":"","net":"","mask":"","ip":""}
它不起作用。
我使用像这样的ng-options:
<td><select class="form-control input-sm2" ng-disabled="!selectedSupercustomer" ng-model="selectedStation" ng-options="item as item.namn for item in stationOptions" ng-change="onChangeStation(selectedStation)"><option value=''>Välj station</option></select></td>
答案 0 :(得分:1)
要么返回一个只包含一个对象的数组(这样你就可以摆脱代码中的else部分),或者在else部分内部构造这个数组,如下所示
$scope.selectedOptions = [data];
$scope.selectedStation = $scope.stationOptions[0];