【发布时间】:2016-10-18 22:02:27
【问题描述】:
我的 Angular 页面中有一个选择选项。这些选项是从 API 中获取的。
我的 HTML 是:
<div>
<form id="edit-profile" novalidate name="editReservationForm" autocomplete="off" class="form-horizontal" ng-controller="getReservationController">
<fieldset>
<div class="control-group">
<label class="control-label" for="reservation.account.name">Account Name<sup>*</sup></label>
<div class="controls">
<select ng-model="reservation.account.id" required>
<option ng-repeat="p in accounts" value="{{p.id}} ">{{p.name}}</option>
</select>
</div> <!-- /controls -->
</div> <!-- /control-group -->
</fieldset>
</form>
</div>
我的控制器是:
myApp.controller('getReservationController', ['$scope', 'reservationServices', 'dataTable', '$rootScope', '$location', '$filter', function ($scope, reservationServices, dataTable, $rootScope, $location, $filter) {
reservationServices.getReservations().then(function (result) {
$scope.data = result.data;
$scope.data.currentUser = $rootScope.userInfo.UserId;
});
}]);
Services.js:
myApp.factory('reservationServices', ['apiServices', function (apiServices) {
var factoryDefinitions = {
getReservations: function () {
return apiServices.getFromTalentPool('/reservations').success(function (data) { return data; });
},
getAccounts: function () {
return apiServices.getFromHRIS('/customeraccount').success(function (data) { return data; });
}
}
return factoryDefinitions;
}
]);
选择选项显示 API 中的所有帐户。我希望它只显示满足data.currentUser==p.account.programManager.id条件的选项
我怎样才能做到这一点?
如果问题需要更多详细信息,请告诉我。
【问题讨论】:
-
您可以循环数据并根据控制器中的条件将其放入数组中。
-
我是 Angular 新手,仍处于学习阶段。你能告诉我如何在答案中做到这一点吗?
-
你能提供你的数据源吗?如果你能模仿你的 HTTP 调用并制作一个很棒的 plunker
-
我不确定我在问题中提到的条件是否属实。我会尽力为您提供数据。请给我几分钟。
-
我不知道如何为您提供数据源。我使用相同的控制器在不同的页面中实现了这个条件。我将添加手表的屏幕截图。也许这有帮助。我也不知道如何配置小提琴 :( 截图:i.imgsafe.org/61ee4b4d8a.jpg