javascript - Angular 中独特的 ng 选项

标签 javascript angularjs ng-options

我试图在选择框上的 Angular ng-options 中获得独特的结果。

<select ng-model="nationality" id="nationality" 
        ng-options="player as player.nationality for player in players></select>

上面的代码将为我提供所有国籍,但它显示重复项。

<select ng-model="nationality" id="nationality" 
        ng-options="player as players | unique: 'player.nationality'"></select>

当我尝试此代码时, Angular 抛出错误并且在选择框中没有显示任何内容。

Controller

var app = angular.module('premierLeagueDB', []);
app.controller('mainCtrl', function($scope, $http) {
$http({
    method : "GET",
    url : "api.php/clubs",
}).then(function mySucces(response) {
    $scope.clubs = response.data.club;
}, function myError(response) {
    $scope.showError = response.statusText;
});
});

谢谢。

最佳答案

我认为这段代码适合你:

<select ng-model="nationality" id="nationality" ng-options="player as players | unique: 'nationality' "></select>

===编辑===

基于此post ,您需要第三方库为您提供filter服务,包括this library在你的 html 文件中。

==编辑2=== 为了演示这是如何工作的,我做了一个 working fiddle 。在此 fiddle 中,我使用 anuglar-ui 库来替换模块,并且它按预期工作。

如果您只需要 'ui.filters' 模块而不需要其他部分(仅导入必要的模块是最佳实践),这里是 another fiddle link仅从 ui-filter 模块导入 unique 函数。

关于javascript - Angular 中独特的 ng 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36809291/

相关文章:

javascript - 如何使用elastic.js获取 Elasticsearch 上的所有索引?

javascript - 如何将 ng-options 中的选定选项值绑定(bind)到 Controller 中的对象值?

javascript - 在 angular.js 的选择下拉列表中绑定(bind)值和文本

javascript - Angular Filter 不适用于 ng-options

javascript - 在 react-infinite-scroll-component 中的每个新搜索中替换获取的搜索结果

javascript new Date(0) 类显示 16 小时?

javascript - Angular 路线不起作用

javascript - Angular ng-grid 行高

javascript - 在溢出 :hidden 的 div 父级内显示弹出窗口

javascript - AngularJS 问题(不允许 POST 405 方法)