我以這種方式使用工廠作爲種源提供商實例化工廠參數角度
angular.module('resources.users').factory('Users', ['serverResource', function (serverResource) {
return serverResource('users');
}]);
其中服務器資源提供了服務器資源的REST API ... 但有API,用於發票項目以這種形式/發票/ {invoice_id}/item/所以我需要在工廠構造函數中傳遞變量。
我發現,這是可以做到這樣:
angular.module('resources.invoiceItem').factory('InvoiceItem', ['serverResource', function (serverResource) {
return function (invoiceID) {
if(!angular.isNumber(invoiceID)) {
console.log('InvoiceID has to be number!');
return null;
}
return serverResource('invoices/' + invoiceID + '/item');
}
}]);
然後實例這樣
var insertedItem = new InvoiceItem(inserted_id);
似乎一切都OK,甚至在debuger我可以像$ CRUD方法保存,$ saveOrUpdate,$ update或$ remove(由服務器資源提供),但當我打電話時
insertedItem.$saveOrUpdate(function(){}, function(){}, function(){}, function(){});
我有e rror undefined不是函數,我不明白爲什麼?我也不understad爲什麼執行console.log(insertedItem)返回我
function (data) {
angular.extend(this, data);
}
我希望serverResource的情況下...
所以我的問題是什麼,我做錯了什麼?
非常感謝任何迴應
編輯:plunker這裏http://plnkr.co/edit/VkZo5kbiNAyudb0yFPhu
嘗試在小提琴重建。 – Mosho
plunker添加到問題 – blazek
沒有'$ saveOrUpdate'功能 –