Angularjs 将筛选器添加到我的ng选项中不会返回集合?
我有一个我正确迭代过的对象:Angularjs 将筛选器添加到我的ng选项中不会返回集合?,angularjs,Angularjs,我有一个我正确迭代过的对象: <select ng-options="value.name for (key,value) in ctrl.userList"></select> 这将只显示没有任何当前指定上级的用户 现在看来,它没有显示,但应该显示1。在应用过滤器时,我是否遗漏了什么 我一直在使用的完整示例: <select ng-options="value.name for (key,value) in ctrl.userList | filter: val
<select ng-options="value.name for (key,value) in ctrl.userList"></select>
这将只显示没有任何当前指定上级的用户
现在看来,它没有显示,但应该显示1。在应用过滤器时,我是否遗漏了什么
我一直在使用的完整示例:
<select ng-options="value.name for (key,value) in ctrl.userList | filter: value.superior!=null"></select>
角度小提琴示例:根据角度文档,过滤器的第一个参数必须是数组。你正在经过一个物体。如果userList是一个数组,它将正常工作(请尝试此操作)。您可以通过使用自定义过滤器来解决此问题
app.filter('myfilter', function() {
return function(obj, prop, value) {
var result = {};
for(key in obj) {
if(obj[key][prop] !== value)
result[key] = obj[key];
}
return result;
};
});
标记:
|myfilter: 'superior' : null
根据angular文档,过滤器的第一个参数必须是数组。你正在经过一个物体。如果userList是一个数组,它将正常工作(请尝试此操作)。您可以通过使用自定义过滤器来解决此问题
app.filter('myfilter', function() {
return function(obj, prop, value) {
var result = {};
for(key in obj) {
if(obj[key][prop] !== value)
result[key] = obj[key];
}
return result;
};
});
标记:
|myfilter: 'superior' : null
我想我会添加这个答案,以帮助您决定更改为对象数组,并帮助其他有此问题的人 HTML元素
角阵
$scope.obj = [
{
name: "test",
superior: null
},
{
name: "test2",
superior: 0
}];
我想我会添加这个答案,以帮助您决定更改为对象数组,并帮助其他有此问题的人 HTML元素
角阵
$scope.obj = [
{
name: "test",
superior: null
},
{
name: "test2",
superior: 0
}];
删除了一个标记,因为这不是角度2。您能提供一个我们可以运行的示例吗?比如一个可运行的代码片段或jfiddle,让我看看是否可以启动并运行一个fiddle,或者做些什么easy@Hack-R添加了它。删除了一个标记,因为这不是角度2。您能提供一个我们可以运行的示例吗?比如一个可运行的代码片段或jfiddle,让我看看是否可以启动并运行一个fiddle,或者做些什么easy@Hack-R添加了它。那么,我将如何解决这个问题?你能添加一些代码吗<代码>app.filter(“myFilter”,function(){})哪一个可以解决我的问题,而不仅仅是将我指向文档?我一直在研究这个问题,但找不到一个能帮我解决这个问题的示例。@只是确认一下:标记看起来像:
|myFilter:value
只是|myFilter
有什么方法可以使它动态化吗?也许接受任何对象列表,然后传入任何条件,例如任意属性和期望值?我这么说是因为基于传入对象创建包含各种过滤器的js文件有点乏味,我更希望它在更一般的情况下工作。那么,我该如何解决这个问题呢?你能添加一些代码吗<代码>app.filter(“myFilter”,function(){})哪一个可以解决我的问题,而不仅仅是将我指向文档?我一直在研究这个问题,但找不到一个能帮我解决这个问题的示例。@只是确认一下:标记看起来像:|myFilter:value
只是|myFilter
有什么方法可以使它动态化吗?也许接受任何对象列表,然后传入任何条件,例如任意属性和期望值?我这样说是因为基于传入对象创建包含各种过滤器的js文件有点乏味,并且更希望使其在更一般的情况下工作