我想从 ng-options 中过滤唯一值。除了重复的条目,我什么也得不到,如果我是一个模型,我会得到一大堆空白行。我创建了一个plunk。感谢您的帮助。
提前致谢
http://plnkr.co/edit/UCI6mVHjEiyZTYUpQ18Y?p=preview
<select ng-options="c.metaInfo.subType for c in myArray">
最佳答案
这是工作 Plunker
您的代码有几个问题:首先 myArray
既不是对象也不是数组,它是错误的语法,请检查我的代码。
然后要使用ng-options
,您还需要设置一个ng-model
。
JS:
var myApp = angular.module('myApp', []);
myApp.controller("Test", function($scope) {
$scope.myArray = [{
"type": "application/doc",
"url": "www.google.com",
"metaInfo": {
"subType": "doc",
"filesize": "60kb"
}
}, {
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
}
}, {
"type": "application/xls",
"metaInfo": {
"subType": "xls",
"filesize": "60kb"
}
}, {
"type": "application/pdf",
"metaInfo": {
"subType": "pdf",
"filesize": "60kb"
}
}];
});
HTML:
<body ng-controller="Test">
<select ng-options="c.metaInfo.subType for c in myArray | unique:'metaInfo.subType'" ng-model="selected">
<option value="">All</option>
</select>
<p>Selected: {{selected || "None"}}</p>
</body>
要删除重复项,您需要像 this one 这样的 Angular 模块使用过滤器 unique
。
我用你需要的一切更新了 Plunker。
关于javascript - Angularjs 过滤 ng-options 以获得唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153876/