问题标签 [angularjs-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 投票
5 回答
9511 浏览

angularjs - How can I extend the constructor of an AngularJS resource ($resource)?

I have a model, defined using $resource, that I am successfully loading.

Each loaded instance is, as promised, an instance of the class I defined.

(The example below is from the Angular docs. In it, User.get results in an object that is an instanceof User.)

However, imagine each User comes over the wire like this:

I defined a Preference factory that adds valuable methods to Preference objects. But when a User loads, those preferences aren’t Preferences, naturally.

I attempted this:

But it has no effect and never logs anything.

How can I make each item in my Users’ preferences array an instance of Preference?

0 投票
0 回答
316 浏览

angularjs - 从单个 AngularJS 资源中获取多个支持 CRUD 的对象

如何从 AngularJS 请求一组数据库条目$resource,这将允许我修改$save()单个对象?

我有以下代码获取我的数据:

我想做的是类似于:

这将允许我更新 UI(我有一个ng-class观察date变量)并在一次调用中保存到数据库。我能做到吗?

0 投票
1 回答
1619 浏览

ajax - Angularjs,$resource:如何获取插入的对象?

插入完成后,我需要立即获取插入的对象。但这是 Angularjs $resource 的问题。

服务器响应:

new_query在控制台中打印:

new_query.id, new_query.query在控制台中打印:

我没有插入文本,而是使用某种哈希。顺便问一下,这是什么哈希?

在模板中,毫秒 anew_query是一个哈希,在$get完成(成功)之后new_query插入文本。成功后如何直接获取插入的文本$get

0 投票
1 回答
6617 浏览

angularjs - 参数名称更改时,使用 PUT 的 angularjs $resource 更新失败

我在这里的理解或代码中遗漏了一些东西......

我有一个非常基本的 CRUD 应用程序来列出/添加/编辑/删除类别,当我将表上的主键定义为“id”时它工作正常,但是当我将数据库列重命名为“categoryId”时, PUT url 不包含键值,我最终会因未处理的路径出现 404 错误...

堆:

用于 RESTful 服务的带有 Slim PHP 的 IIS 7.5

当然代码中还有很多其他地方改名了,但是我看到的效果好像和ngResource有关。

第一种方法产生一个有效的 URL...

第二个产生这个......

由于路径格式错误,出现 404 错误。

是否需要另一个参数(或指令或其他东西)来获取要在 URL 中使用的重命名属性?

0 投票
3 回答
18885 浏览

angularjs - 如何配置 Angular $resource (ngResource) 以使用 CORS 从另一个域中提取数据

我希望能够使用 $resource 使用 CORS 来请求我的数据来设置资源。我已经让 CORS 与 $http 一起工作,但同样的技术不适用于 $resource,我希望有人能来拯救我并告诉我如何使用 $resource。

我修改了Angular 教程的最后一步,通过在 services.js 文件中破解 phonecatServices 服务来使用 CORS。

我发现这个例子使用了 $http.defaults.useXDomain = true; 删除 $http.defaults.headers.common['X-Requested-With'];line 以获取角度以使用 CORS 请求数据,但如果我尝试 $resource.defaults.useXDomain = true; 我收到错误:“无法设置未定义的属性‘useXDomain’”。

我认为 $resource 没有这个属性,所以我的问题是,如何配置 $resource 以使用 CORS 进行跨域资源请求。

这是我的代码:

当我尝试发出请求时出现以下错误:对象 #<Resource> 没有方法 'push'

编辑

我已经尝试设置 $http 并且它大部分时间都可以工作,但是当调用资源查询时,在本例中为 Phone.get(phoneId); 这似乎引发了上述错误。

调用我怀疑导致错误的代码(来自 controllers.js step 11 angular tutorial):

如果我删除上述方法的内部代码,代码运行良好(没有获取网站的图像),但我不明白为什么这不起作用?我已经将 $http 服务设置为使用 CORS,因此显然应该将其传递给 $resource。

任何人都可以阐明它吗?(任何工作示例代码将不胜感激)。

编辑:13/08/13

就像任何访问这个问题的人都知道,下面的答案都没有真正回答这个问题,我自己正在研究一个答案,但如果有人发现这个并有一个答案,我仍然会非常感激。

编辑:06/09/13

目前正在调查这个项目,似乎允许我正在寻找的一切:https ://github.com/jpillora/xdomain

0 投票
1 回答
2248 浏览

angularjs - Angularjs资源构建错误的资源url

资源:

询问:

结果:

在此处输入图像描述

Angularjs 构建了一个错误的 url,/api/tickets但它应该是/api/tickets/2/owner. 任何想法为什么?

0 投票
2 回答
3191 浏览

angularjs - AngularJS ngResource 删除事件

我正在尝试在用户与之交互时使资源列表保持最新。使用 AngularJS ngResource 我最初使用它的query方法获取列表。然后每个资源都有一个$remove(或$delete)方法,对吗?但是当被触发时,资源不会从返回的列表中删除query

这要求很多,我知道,但我几乎希望它能为我做一切。保存它,我怎么能做到这一点。资源本身是否会发出某种事件?它有我可以删除的属性$watch吗?我怎么知道一个资源是$remove'd 所以我可以把它从列表中拼接出来?

谢谢。

0 投票
1 回答
1098 浏览

angularjs - 单元测试角度 ng-resource

嗨,我目前正在使用 karma 和 jasmine 设置一些单元测试。而且我在尝试完全测试 ng 资源时遇到了困难。当我做一个 scope.clients.query() 是执行一个请求。但是当我尝试在单元测试中这样做时,这将失败。

有人有类似的问题吗?有人知道如何解决这个问题吗?

例如

0 投票
3 回答
60175 浏览

angularjs - 如何在 AngularJS 中刷新/使 $resource 缓存无效

我有一个简单的用户 $resource,它使用默认的 $http 缓存实现,如下所示:

这很好用,即我的服务器只在我的应用程序中调用一次,然后从缓存中获取值。

但是我需要在某个操作后从服务器刷新值。有没有简单的方法可以做到这一点?

谢谢。

0 投票
4 回答
22887 浏览

javascript - Angular - 使用自定义方法扩展 $resource 子对象

在大多数情况下,<custom-resource>.query()方法的结果是一个数组,可以使用以下(工厂)代码使用一些方法(业务逻辑)轻松扩展它:

这非常适合与 ng-repeat / ng-class 一起使用,如下所示:

我的问题是每个列表响应都封装在一个对象中,除了实际列表之外,该对象还具有一些元属性(排序信息等),因此返回的最终对象如下所示:

现在,我如何使用 ng-repeat/ng-class 制作与以前相同的东西?

以前的方法不起作用,因为“foo”方法是在对象上定义responseData而不是在item对象上定义的

有没有办法直接扩展用于实例化列表中对象的基类?

谢谢!