$ update不是使用$ resource的函数?

时间:2016-08-06 05:21:26

标签: angularjs

我希望使用$ resource.my api root使用两个id更新文档就像这样

$resource("http://192.168.0.2:3060/product/:subid/:productid",{"subid": "@subid"},{"productid": "@productid"},{update:{method:"PUT"}});

我得到了这样的错误。 subproduct。$ update不是函数

我的工厂就像这样:

ZustShopFactoryModule.factory("SubMenuItemFactory",function($resource,$q,RES_URL){
var subproductinfo=[]
var subproductresource=$resource("http://192.168.0.2:3060/product/:subid/:productid",{"subid": "@subid"},{"productid": "@productid"},{update:{method:"PUT"}});
return{
updatesubproductItem:function(SubMenuItem,idx){
        var subproduct=new subproductresource(SubMenuItem,SubMenuItem.subid);
        console.log(subproduct)
        console.log(SubMenuItem.subid)
        console.log(SubMenuItem._id)
        subproduct.$update({"subid":SubMenuItem.subid,"productid": SubMenuItem._id},function(data){
            console.log(data)
             subproductinfo[idx]=data;
            console.log("Updated...")
        },function(){
            console.log("Not Updated...")
        })
    }

}
   })

请帮我怎么做?

1 个答案:

答案 0 :(得分:2)

尝试将更新放在引号中,如下所示:

$resource("http://192.168.0.2:3060/product/:subid/:productid",
  {"subid": "@subid"},{"productid": "@productid"},
  {
    'update': {method:"PUT"}
  });

您也可能使用错误。 new 通常会接受一个参数,即作为JSON对象创建的资源。如果上述修复不起作用,console.logs的输出是什么?