Angularjs过滤对象文字数组

时间:2014-08-06 06:06:15

标签: angularjs angular-filters

我是棱角分明的新手,所以请原谅我这个基本问题。 我有一个对象文字数组,我想根据特定的字段类型在角度js中添加过滤器。

对象文字数组:

 var todos= [{text: 'To-DO1', done: false,group:'Group1' }, {text: 'To-do2', done: false, group:'Group2' } ];

我正在使用此代码:

<select  data-ng-model="selectOption" data-ng-options="item as item.gtype for item in items"> </select>
<li data-ng-repeat="todo in todos track by $index | filter: selectOption.gtype ">

以上过滤器无效

用于填充我正在使用的选项:

$scope.items = [                  
  {gtype:'Group1'},                         
  {gtype:'Group2'},`enter code here`
  {gtype:'Group3'},
  {gtype:'Group4'},
  {gtype:'Group5'}
];

有人可以帮我解决一下吗?

1 个答案:

答案 0 :(得分:1)

问题在于track by $index。正确的位置在表达式的末尾,在过滤器之后(参见ngRepeat documentation)...

<li data-ng-repeat="todo in todos | filter: selectOption.gtype track by $index">

Live Demo

编辑:根据要求,如果过滤器没有产生任何内容,这里有一个更新的小提示,以显示备用消息...

Live Demo