问题标签 [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.
javascript - AngularJS 等待 $resource 响应设置值
这是我的问题:
我有一个使用 $resource 和一个控制器创建的服务;控制器调用服务,我尝试在收到响应(实际上是错误)后设置一个值。问题是:我试图在回调之外设置该值。这是服务:
这是一个通过 REST 端点从后端检索数据的简单服务。
这是控制器:
Angular $resource Doc说要以这种方式调用 get() 方法:
可以使用以下参数调用类对象或实例对象上的操作方法:
由于我的后端尚未实现,因此在调试时,我正确地通过了错误回调函数。但我可以看到我的数据变量仍未定义。
我的问题是我仍然不习惯承诺。我知道来自 DataService 的响应是异步的。所以我尝试以几种不同的方式设置数据但没有成功。我试过了:
将 initData 方法替换为:
但我从不进入“捕获”条件;
使用 $q 服务:
/li>要使用
/li>$q.when
从变量创建承诺ctrl.data
:那些的其他变种..
我可以通过直接在回调函数中设置它来使其工作,data
但这意味着我每次调用该getData()
方法时都会重置数据,这是为了最佳实践目的而我想要避免的事情:
有没有办法ctrl.initialData
在设置之前等待已经设置ctrl.data
?
非常感谢任何一点帮助
angularjs - Angularjs $resource 动态标头与 $save
我正在尝试将动态标头添加到 $resource 中,如下所示:
使用它可以让我传入在使用 get 时可以正常工作的标头。
当我想保存一个对象时,它只返回未定义:
有人可以帮助解释为什么我不能以这种方式使用 $resource 。
谢谢
angularjs - Angularjs:在服务中存储 $resource 数据以在控制器之间共享
简短的问题:是否可以将 $resource 中的数据存储在服务中,以便查询一次并在不同的控制器中使用?
我试过query().$promise.then
了,但资源仍然返回一个空引用。在服务中解析和存储 $resource 数据的正确语法是什么,以便后续调用可以使用它?
angularjs - 使用附加查询字符串参数保存 ngResource
我的 API 中有一个名为/foos
. POST
我可以通过向这个 URL 发出请求来创建一个新的 Foo 。
在客户端,我使用 AngularngResource
来处理 API 调用。插入很简单:
到目前为止,一切都很好。API 返回以下内容:
现在,这是好的部分。为简单起见,我的 API 允许通过查询字符串参数指定应在响应中返回哪些相关实体,with
. 所以:
会回来
POST
这在请求中也被接受。我想创建一个 Foo 并将它与一些相关实体一起返回,以便我可以在我的应用程序中直接使用它们,而无需执行另一个请求:
但是,我无法使用标准的 ngResource$save()
函数来实现这一点。
这完全可以做到吗?
angularjs - 在使用 ngResource 发送之前编辑数据
嘿,我想在使用 ngResource(构建 FormData 对象)发送数据之前更改数据。我按照我找到的示例做所有事情,但是我不能让它们工作。这是我的代码:
我设置数据并尝试发送它们的控制器:
我的服务:
在函数中,transformRequest
数据对象总是被标记为“未定义”。难道我做错了什么?有没有更好的方法在发送之前编辑数据?
javascript - 如何将控制器变量作为 AngularJS $resource 请求的参数传递?
我是 angularjs 的新手,我认为这应该是一件简单的事情,但我无法完成。基本上我需要的是从服务中获取一个变量并将其作为 GET 请求中的参数传递。为此,我正在使用 ngResource 模块。
我从服务中获得的变量可能会改变,我需要的同样是改变发出请求的 url 以及将呈现和显示在视图中的数据。
这就是为什么我需要获取该变量,将其传递给控制器并使用服务中定义的参数在此控制器中发出 $resource 请求。
这是我的控制器:
Licores服务
和 CategoriaService (从这个,我得到了我需要作为请求参数传递的变量)
在视图中,我使用 ng-repeat 指令遍历 $scope.licores 数组。
问题似乎是 LicoresService.query() 函数没有更新视图。所以我认为每次 $scope.pk 变量更改他的值时我都需要调用该函数。但我不知道该怎么做。
javascript - 如何使用 agluar ng-resource 在 web api 中调用特定的 get 方法?
我在 web api 中有两个或多个 get 方法(如下所示,给出代码 GetProducts 和 GetProductsNew 是 get 方法)。当我使用 Angular js 的 ng-resource 时,每当我尝试调用 get 函数时,它都会给出一个模棱两可的错误。假设我想调用 GetProductsNew 方法,那么我该如何调用?有人可以帮忙吗,在此先感谢:)
angularjs - 使用 Angular 工厂服务
我正在尝试遵循 Code School 的 Angular Soup to Bits 保持敏锐。
我已经到了创建笔记工厂服务并实现该$resource
服务的地步。
$scope.notes = Note.query()
然后,我console.log($scope.notes)
的浏览器的开发工具控制台中没有出现任何内容。我究竟做错了什么?
可以在此处找到我的 GitHub 存储库以及发生这种情况的最新提交。
javascript - 循环访问对象时访问属性名
正如您在这个问题中提供的代码中看到的那样,我尝试遍历对象的属性。所有属性都是空对象!我还有另一个对象,我在其中存储了几个休息调用(ngResource Stuff,这对这个问题并不重要)。
在这里,您可以看到存储在$scope.restCalls中的“Rest-Calls” 。
$scope.data表示每个选项卡的数据。此数组中的每个对象都保存选项卡的数据。所有资源都初始化为空,如果用户更改页面,资源将存储在这里。
到目前为止,一切都很好。我保证电话工作正常。在我的应用程序中有多个选项卡,所以我想尝试实现一些延迟加载:D
因此我实现了一个函数:(索引在html中定义,只是0到2之间的一个数字)
在这里你可以看到函数:
现在让我们来看看问题描述:
- 当我更改选项卡时,函数 tabChange被触发。
- 每个 Restcall 都会被正确触发
结果只会存储到$scope.data[index]的错误属性中。它始终是最后一个属性名。因此,例如,我更改为 tab2(索引 1)。 $scope.data最终会像这样:
我认为属性名在then 函数中不可用。但我不知道如何将名称输入此函数。
angularjs - AngularJS:ngResource 500 内部服务器错误
我在获取使用$resource
.
我正在使用网络服务调用$resource
来获取用户列表。它在大多数情况下都有效,但是当响应需要一些时间时,我会收到500 internal server error。
我用来调用网络服务的代码:
我会很感激你的帮助。