0
Angular相對較新,我希望在設置一個使用ngResource而不是$ http的新工廠方面提供一些幫助,並且我可以傳遞參數給。如何使用ngResource設置和調用AngularJS工廠並使用參數調用它?
基於this例如,我已經建立了工廠如下:
app.factory('abstractFactory2', function ($resource) {
//var odataUrl = "/odata/ContentType";
return $resource("", {},
{
'getAll': { method: "GET", url: odataUrl, params: {options: "@options" } },
'save': { method: "POST", url: odataUrl, params: { options: "@options" } },
'update': { method: 'PUT', params: { key: "@key" }, url: odataUrl + "(:key)" },
'query': { method: 'GET', params: { key: "@key" }, url: odataUrl + "(:key)" },
'remove': { method: 'DELETE', params: { key: "@key" }, url: odataUrl + "(:key)" }
});
});
我已經能夠在odataUrl
來自控制器的值通過,但遇到一些奇怪的行爲。
在我的控制器,在我的數據建立該呼叫是:
// TODO: pass in odata URL and odata options to factory
var dataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read:
function (options) {
var odataParams = kendo.data.transports["odata"].parameterMap(options.data, "read"); // Object {$inlinecount: "allpages", $format: "json", $top: 10}
(new abstractFactory2.query({ options: odataParams })).$getAll()
.then(function (data) {
return options.success(data);
});
}, . . .
我想能夠在odataUrl
通過(以及其他參數),和的OData options
從函數中我的控制器,並隨後撥打update
,create
和destroy
調用工廠。
在菲德勒我看到有兩個請求的URL的OData,一個與部分參數:
我試圖傳遞odataUrl = '/odata/contentType' and reading it in the factory with
URL:「@odataUrl」`但一直沒能得到那個工作。
GET /odata/ContentType
GET /odata/ContentType?options=%7B%7D
我也想能在勾到呼叫的.success()
和.error()
事件。