无法让查询在 Angular 中工作

Posted

技术标签:

【中文标题】无法让查询在 Angular 中工作【英文标题】:Unable to get query to work in Angular 【发布时间】:2017-11-18 18:14:45 【问题描述】:

我对 Angular 很陌生,我正在尝试制作一个使用 REST 服务并呈现结果的简单应用程序。 当我尝试在 Angular 中使用查询命令时,我收到以下错误: angular.js:14525 错误:[$resource:badcfg] 查询,快速搜索显示它是在获取对象而不是数组时抛出的东西。

角度

angular.module('strateGISApp.controllers', [])
.controller('CategoryListController', function($scope, $state, popupService, $window, Category) 
  $scope.categories = [Category.query()]; //fetch all categories.
);

前端

<tr ng-repeat="Category in categories">
   <td>category.id</td>
   <td>category.category_name</td>
</tr>

此外,我从 nodejs 休息服务中使用的 json 返回两个重复的集合。一个命名记录集和一个命名记录集。这对这个有什么影响吗?

编辑:正如 cmets 中所指出的,解决方案是添加 isArray: false 但现在我的页面显示大量记录(数据库只有 4 条)并且似乎无法访问任何对象属性。

编辑 2:经过进一步调查(通过使用 console.log 编写类别),我似乎从其余服务中获取了 html。类别是一个数组

0
:
"<"
1
:
"!"
2
:
"D"
3
:
"O"
4
:
"C"
5
:
"T"
6
:
"Y"
7
:
"P"
8
:
"E"
9
:
" "
10
:
"h"
11
:
"t"
12
:
"m"
13
:
"l"
14
:
">"
15
:
"
"
16
:
"↵"
17
:
"<"
18
:
"h"

等等。数组共有 1338 个条目。不知何故我没有正确处理它是服务的问题吗?这是我没有制作的 nodejs 服务器。 但是,当我在浏览器中访问服务器 url 时,它会按预期显示 json。

【问题讨论】:

Error: [$resource:badcfg] Error in resource configuration. Expected response to contain an array but got an object?的可能重复 你试过 $scope.categories = Category.query(); ? @Arjun 是的,我试过带括号和不带括号。 【参考方案1】:

通过查看您的&lt;tr ng-repeat="Category in categories"&gt;

“类别”是您声明或分配对象的对象(类别中的类别)。但在下面的行中,您尝试访问以“小写”“c”开头的“category.id”。

您可以将“类别中的类别”更改为“类别中的类别”并检查它吗?

【讨论】:

小写和大写我得到相同的结果。 但你可能是对的,它需要小写。

以上是关于无法让查询在 Angular 中工作的主要内容,如果未能解决你的问题,请参考以下文章

谷歌标签管理器无法在 Ionic+Angular 应用程序中工作

正则表达式在在线正则表达式测试器中无法在Angular Validators.pattern()中工作

Angular 6 - 为啥生产构建中缺少承载令牌? (在开发版本中工作正常)

Angular 2 生产构建错误。在开发中工作正常

ViewChild 如何在 Angular 和 Storybook 中工作?

clearvalidators 不能在 Angular 6 表单控件中工作