我有要用ng-repeat
显示的项目列表。我想添加一个过滤器以显示/隐藏已归档的项目。
我添加了一个复选框:
<input type="checkbox" ng-model="queryFilter.archived">Show archived messages
在我的 Controller 中,我有:$scope.queryFilter = {
archived: false
};
我的项目列表显示在表格中。我尝试了以下方法:<tr ng-repeat="message in messages | filter : queryFilter">
<tr ng-repeat="message in messages | filter : { archived: queryFilter.archived }">
<tr ng-repeat="message in messages | filter : queryFilter track by $index">
我收到此错误:过滤确实起作用,但我想知道为什么会收到错误消息。
最佳答案
您的messages
必须包含Object
格式的数据,而不是Array
格式。
这就是引发此错误的原因。检查文档https://docs.angularjs.org/error/filter/notarray
从文档中:
因此,请确保您的$scope.messages
包含数组形式的数据,而不是对象形式的数据。
关于angularjs - 带过滤器的AngularJS ng-repeat-NotArray错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37375302/