$resource
を使用して、クエリを使用してサーバーからデータを取得しています。 サーバーは、オブジェクトの配列を返します。オブジェクトの配列は、stuklijstに格納されています。 (更新された)内容をstuklijstに戻すことができます。配列をループし、$ saveを使用して配列の各項目をサーバーに送り返すことでサーバーに戻すことができます。 これで、ループを使用せずにすべてのアイテム(stuklijst)をサーバーに一度に送信したいと考えています。
stuklijstに$ saveを実行すると、Angularは "destination.pushは関数ではありません"というエラーをスローします。 $resource
でこれをどのように達成できますか?
サービス:ここで
コードです
var stukModule = angular.module('stuklijstServices', ['ngResource'])
stukModule.factory('Stuklijsten', function($resource){
return $resource('rest/stuklijsten/:stuklijstID', {});
});
コントローラー:
//Get the data from server
$scope.stuklijst = Stuklijsten.query({stuklijstID: $routeParams.stuklijstID});
//See below for sample of data returned by server
//Users can update the data and request a save using saveStuklijst
//Send them back to server (using saveStuklijst(Stuklijst))
$scope.saveStuklijst = function(lijst) {
//sending items from stuklijst one by one :
for(var i = 0; i < lijst.length; i++)
{// console.log(i);
// console.dir(lijst[i]);
lijst[i].RowID = i
f = new Stuklijsten(lijst[i]);
f.$save({stuklijstID: $routeParams.stuklijstID});
} ;
};
データは、サーバから返されたとStuklijstに保存されている:
[{"Name":"K FlxMT in DG met diameter 025 cm","LineType":0,"ProdID":"DG025KFLXMT","RowID":7,"Unit":"stk","Quantity":1},{"Name":"SPR Fl in DG met diameter 025 cm","LineType":0,"ProdID":"DG025SPRFL","RowID":8,"Unit":"stk","Quantity":1},{"Name":"T FlxFl in DG met diameter 025 cm","LineType":0,"ProdID":"DG025TFLXFL","RowID":9,"Unit":"stk","Quantity":0},{"Name":"VER PL EX in DG met diameter 025 cm","LineType":0,"ProdID":"DG025VERPLEX","RowID":10,"Unit":"stk","Quantity":0},{"Name":"K FlxMT in PV met diameter 008 cm","LineType":0,"ProdID":"PV008KFLXMT","RowID":11,"Unit":"stk","Quantity":0}]
$ resourceを使用して、配列の配列をサーバーに戻す方法が見つかりませんでした。さらなる調査の後、私は$ httpを使ってこれを行うことができました。しかし、その場合、RESTサービスを使用することの美しさはプロセスで失われます... – thomasc