gpt4 book ai didi

angularjs - 带过滤器的AngularJS ng-repeat-NotArray错误

转载 作者:行者123 更新时间:2023-12-04 13:22:25 24 4
gpt4 key购买 nike

我有要用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">
我收到此错误:

Error: [filter:notarray]

Expected array but received: {}


过滤确实起作用,但我想知道为什么会收到错误消息。

最佳答案

您的messages必须包含Object格式的数据,而不是Array格式。

这就是引发此错误的原因。检查文档https://docs.angularjs.org/error/filter/notarray

从文档中:

Filter must be used with an array so a subset of items can be returned. The array can be initialized asynchronously and therefore null or undefined won't throw this error.



因此,请确保您的 $scope.messages包含数组形式的数据,而不是对象形式的数据。

关于angularjs - 带过滤器的AngularJS ng-repeat-NotArray错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37375302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com