问题标签 [angularjs-ng-resource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3222 浏览

javascript - AngularJS 等待 $resource 响应设置值

这是我的问题:

我有一个使用 $resource 和一个控制器创建的服务;控制器调用服务,我尝试在收到响应(实际上是错误)后设置一个值。问题是:我试图在回调之外设置该值。这是服务:

这是一个通过 REST 端点从后端检索数据的简单服务。

这是控制器:

Angular $resource Doc说要以这种方式调用 get() 方法:

可以使用以下参数调用类对象或实例对象上的操作方法:

由于我的后端尚未实现,因此在调试时,我正确地通过了错误回调函数。但我可以看到我的数据变量仍未定义。

我的问题是我仍然不习惯承诺。我知道来自 DataService 的响应是异步的。所以我尝试以几种不同的方式设置数据但没有成功。我试过了:

  • 将 initData 方法替换为:

    但我从不进入“捕获”条件;

  • 使用 $q 服务:

    /li>
  • 要使用$q.when从变量创建承诺ctrl.data

    /li>
  • 那些的其他变种..

我可以通过直接在回调函数中设置它来使其工作,data但这意味着我每次调用该getData()方法时都会重置数据,这是为了最佳实践目的而我想要避免的事情:

有没有办法ctrl.initialData在设置之前等待已经设置ctrl.data

非常感谢任何一点帮助

0 投票
2 回答
882 浏览

angularjs - Angularjs $resource 动态标头与 $save

我正在尝试将动态标头添加到 $resource 中,如下所示:

使用它可以让我传入在使用 get 时可以正常工作的标头。

当我想保存一个对象时,它只返回未定义:

有人可以帮助解释为什么我不能以这种方式使用 $resource 。

谢谢

0 投票
1 回答
413 浏览

angularjs - Angularjs:在服务中存储 $resource 数据以在控制器之间共享

简短的问题:是否可以将 $resource 中的数据存储在服务中,以便查询一次并在不同的控制器中使用?

我试过query().$promise.then了,但资源仍然返回一个空引用。在服务中解析和存储 $​​resource 数据的正确语法是什么,以便后续调用可以使用它?

0 投票
1 回答
110 浏览

angularjs - 使用附加查询字符串参数保存 ngResource

我的 API 中有一个名为/foos. POST我可以通过向这个 URL 发出请求来创建一个新的 Foo 。

在客户端,我使用 AngularngResource来处理 API 调用。插入很简单:

到目前为止,一切都很好。API 返回以下内容:

现在,这是好的部分。为简单起见,我的 API 允许通过查询字符串参数指定应在响应中返回哪些相关实体,with. 所以:

会回来

POST这在请求中也被接受。我想创建一个 Foo 并将它与一些相关实体一起返回,以便我可以在我的应用程序中直接使用它们,而无需执行另一个请求:

但是,我无法使用标准的 ngResource$save()函数来实现这一点。

这完全可以做到吗?

0 投票
1 回答
196 浏览

angularjs - 在使用 ngResource 发送之前编辑数据

嘿,我想在使用 ngResource(构建 FormData 对象)发送数据之前更改数据。我按照我找到的示例做所有事情,但是我不能让它们工作。这是我的代码:

我设置数据并尝试发送它们的控制器:

我的服务:

在函数中,transformRequest数据对象总是被标记为“未定义”。难道我做错了什么?有没有更好的方法在发送之前编辑数据?

0 投票
1 回答
184 浏览

javascript - 如何将控制器变量作为 AngularJS $resource 请求的参数传递?

我是 angularjs 的新手,我认为这应该是一件简单的事情,但我无法完成。基本上我需要的是从服务中获取一个变量并将其作为 GET 请求中的参数传递。为此,我正在使用 ngResource 模块。

我从服务中获得的变量可能会改变,我需要的同样是改变发出请求的 url 以及将呈现和显示在视图中的数据。

这就是为什么我需要获取该变量,将其传递给控制器​​并使用服务中定义的参数在此控制器中发出 $resource 请求。

这是我的控制器:

Licores服务

和 CategoriaService (从这个,我得到了我需要作为请求参数传递的变量)

在视图中,我使用 ng-repeat 指令遍历 $scope.licores 数组。

问题似乎是 LicoresService.query() 函数没有更新视图。所以我认为每次 $scope.pk 变量更改他的值时我都需要调用该函数。但我不知道该怎么做。

0 投票
1 回答
670 浏览

javascript - 如何使用 agluar ng-resource 在 web api 中调用特定的 get 方法?

我在 web api 中有两个或多个 get 方法(如下所示,给出代码 GetProducts 和 GetProductsNew 是 get 方法)。当我使用 Angular js 的 ng-resource 时,每当我尝试调用 get 函数时,它都会给出一个模棱两可的错误。假设我想调用 GetProductsNew 方法,那么我该如何调用?有人可以帮忙吗,在此先感谢:)

0 投票
1 回答
28 浏览

angularjs - 使用 Angular 工厂服务

我正在尝试遵循 Code School 的 Angular Soup to Bits 保持敏锐。
我已经到了创建笔记工厂服务并实现该$resource服务的地步。

$scope.notes = Note.query()然后,我console.log($scope.notes)的浏览器的开发工具控制台中没有出现任何内容。我究竟做错了什么?

可以在此处找到我的 GitHub 存储库以及发生这种情况的最新提交。

0 投票
1 回答
39 浏览

javascript - 循环访问对象时访问属性名

正如您在这个问题中提供的代码中看到的那样,我尝试遍历对象的属性。所有属性都是空对象!我还有另一个对象,我在其中存储了几个休息调用(ngResource Stuff,这对这个问题并不重要)。

在这里,您可以看到存储在$scope.restCalls中的“Rest-Calls” 。

$scope.data表示每个选项卡的数据。此数组中的每个对象都保存选项卡的数据。所有资源都初始化为空,如果用户更改页面,资源将存储在这里。

到目前为止,一切都很好。我保证电话工作正常。在我的应用程序中有多个选项卡,所以我想尝试实现一些延迟加载:D

因此我实现了一个函数:(索引在html中定义,只是0到2之间的一个数字)

在这里你可以看到函数:

现在让我们来看看问题描述:

  • 当我更改选项卡时,函数 tabChange被触发。
  • 每个 Restcall 都会被正确触发

结果只会存储到$scope.data[index]的错误属性中。它始终是最后一个属性名。因此,例如,我更改为 tab2(索引 1)。 $scope.data最终会像这样:

我认为属性名在then 函数中不可用。但我不知道如何将名称输入此函数。

0 投票
2 回答
404 浏览

angularjs - AngularJS:ngResource 500 内部服务器错误

我在获取使用$resource.

我正在使用网络服务调用$resource来获取用户列表。它在大多数情况下都有效,但是当响应需要一些时间时,我会收到500 internal server error

我用来调用网络服务的代码:

我会很感激你的帮助。