Nim*_*aen 15 javascript angularjs
这可能很奇怪,但我需要使用模块的工厂方法为我的$ resource指定一些默认的POST数据.
有没有人知道如何在AngularJS中做到这一点?
编辑:
好吧,我想做这样的事情:
/**
* Module declaration.
* @type {Object}
*/
var services = angular.module("services", ["ngResource"]);
/**
* Product handler service
*/
services.factory("Product", function($resource) {
return $resource("http://someUrl", {}, {
get : {method: "GET", params: {productId: "-1"}},
update: {method : "POST", params:{}, data: {someDataKey: someDataValue}}
});
});
数据是我未来POST请求的默认数据.
Bog*_*bak 19
这不是一种有角度的方式来做这样的事情,因为如果你这样做会丢失数据一致性并且它没有反映在你的模型中.
为什么?
资源工厂创建对象并将对象实例数据用作POST.我查看了文档和angular-resource.js,似乎没有办法为资源创建的对象指定任何默认的自定义属性,而无需修改angular-resource.js.
你能做的是:
services.factory("Product", function($resource) {
return $resource("http://someUrl", {}, {
get : {method: "GET", params: {productId: "-1"}},
update: {method : "POST"}
});
});
Run Code Online (Sandbox Code Playgroud)
并在您的控制器中:
$scope.product = {}; // your product data initialization stuff
$scope.product.someDataKey = 'someDataValue'; // add your default data
var product = new Product($scope.product);
product.$update();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27833 次 |
| 最近记录: |