使用角度资源发布虚假值

时间:2014-05-05 10:17:23

标签: angularjs angularjs-resource

我试图用角度资源发布标量值0,例如

myResource.save({}, 0, onSuccess, onError};

这为使用空体的POST尝试提供了HTTP 400错误。

查看角度源我发现我的帖子数据最终成为Resource的构造函数的参数,看起来像

  function Resource(value){
    shallowClearAndCopy(value || {}, this);
  }

因此,似乎所有虚假值都将被空对象替换,因此无法发布。这是设计(然后:我错过了哪部分文档?)或错误?

1 个答案:

答案 0 :(得分:1)

当使用实例方法而不是类方法时,最好说明$resource的要点。从文档中获取this example

 var CreditCard = $resource('/user/:userId/card/:cardId',
  {userId:123, cardId:'@id'}, {
   charge: {method:'POST', params:{charge:true}}
  });
 ...
 var newCard = new CreditCard({number:'0123'});
 newCard.name = "Mike Smith";
 newCard.$save();

基本上newCard只是一个表示模型的普通对象,但却丰富了一些功能。 $resource提供了一个抽象层。它是Active Record Pattern的实现。

也就是说,如果你想发布单个标量值,那么你可能正在处理服务而不是资源。在这种情况下,$resource(原文如此!)不是正确的选择。