问题标签 [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.
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?
angularjs - 从单个 AngularJS 资源中获取多个支持 CRUD 的对象
如何从 AngularJS 请求一组数据库条目$resource,这将允许我修改$save()单个对象?
我有以下代码获取我的数据:
我想做的是类似于:
这将允许我更新 UI(我有一个ng-class观察date变量)并在一次调用中保存到数据库。我能做到吗?
ajax - Angularjs,$resource:如何获取插入的对象?
插入完成后,我需要立即获取插入的对象。但这是 Angularjs $resource 的问题。
服务器响应:
new_query在控制台中打印:
new_query.id, new_query.query在控制台中打印:
我没有插入文本,而是使用某种哈希。顺便问一下,这是什么哈希?
在模板中,毫秒 anew_query是一个哈希,在$get完成(成功)之后new_query插入文本。成功后如何直接获取插入的文本$get?
angularjs - 参数名称更改时,使用 PUT 的 angularjs $resource 更新失败
我在这里的理解或代码中遗漏了一些东西......
我有一个非常基本的 CRUD 应用程序来列出/添加/编辑/删除类别,当我将表上的主键定义为“id”时它工作正常,但是当我将数据库列重命名为“categoryId”时, PUT url 不包含键值,我最终会因未处理的路径出现 404 错误...
堆:
用于 RESTful 服务的带有 Slim PHP 的 IIS 7.5
当然代码中还有很多其他地方改名了,但是我看到的效果好像和ngResource有关。
第一种方法产生一个有效的 URL...
第二个产生这个......
由于路径格式错误,出现 404 错误。
是否需要另一个参数(或指令或其他东西)来获取要在 URL 中使用的重命名属性?
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
angularjs - Angularjs资源构建错误的资源url
资源:
询问:
结果:

Angularjs 构建了一个错误的 url,/api/tickets但它应该是/api/tickets/2/owner. 任何想法为什么?
angularjs - AngularJS ngResource 删除事件
我正在尝试在用户与之交互时使资源列表保持最新。使用 AngularJS ngResource 我最初使用它的query方法获取列表。然后每个资源都有一个$remove(或$delete)方法,对吗?但是当被触发时,资源不会从返回的列表中删除query。
这要求很多,我知道,但我几乎希望它能为我做一切。保存它,我怎么能做到这一点。资源本身是否会发出某种事件?它有我可以删除的属性$watch吗?我怎么知道一个资源是$remove'd 所以我可以把它从列表中拼接出来?
谢谢。
angularjs - 单元测试角度 ng-resource
嗨,我目前正在使用 karma 和 jasmine 设置一些单元测试。而且我在尝试完全测试 ng 资源时遇到了困难。当我做一个 scope.clients.query() 是执行一个请求。但是当我尝试在单元测试中这样做时,这将失败。
有人有类似的问题吗?有人知道如何解决这个问题吗?
例如
angularjs - 如何在 AngularJS 中刷新/使 $resource 缓存无效
我有一个简单的用户 $resource,它使用默认的 $http 缓存实现,如下所示:
这很好用,即我的服务器只在我的应用程序中调用一次,然后从缓存中获取值。
但是我需要在某个操作后从服务器刷新值。有没有简单的方法可以做到这一点?
谢谢。
javascript - Angular - 使用自定义方法扩展 $resource 子对象
在大多数情况下,<custom-resource>.query()方法的结果是一个数组,可以使用以下(工厂)代码使用一些方法(业务逻辑)轻松扩展它:
这非常适合与 ng-repeat / ng-class 一起使用,如下所示:
我的问题是每个列表响应都封装在一个对象中,除了实际列表之外,该对象还具有一些元属性(排序信息等),因此返回的最终对象如下所示:
现在,我如何使用 ng-repeat/ng-class 制作与以前相同的东西?
以前的方法不起作用,因为“foo”方法是在对象上定义responseData而不是在item对象上定义的
有没有办法直接扩展用于实例化列表中对象的基类?
谢谢!