非常に初歩的な質問:
ファクトリ メソッドを使用してリソース オブジェクトを構築しようとしています。
.factory('Magazines', [function ($resource) {
var url = document.URL;
var urlArray = url.split("/");
var organId = urlArray[urlArray.length-1];
return $resource('http://localhost/ci/api/magazines/:id', {
loginID : organEntity,
password : organCommpassword,
id : organId
});
}])
すべてのパラメーターが事前定義されており、organEntity と organCommpassword がタグ内で定義されているため、この方法は簡単です。
別のリソース オブジェクトについては、ファクトリが呼び出されたときにパラメーターを渡す必要があります。
このリソース オブジェクトの呼び出しコードは次のようになると思います。
.controller('ResrouceCtrl', function($scope, Magazines) {
$scope.magazines = Magazines.query();
});
query() メソッドがパラメーターを追加できることを知っています:Magazines.query(params, successcb, errorcb);
パラメータを渡すだけなのかな、工場でパラメータを取得できますか? ファクトリメソッドで渡されたパラメータを指定する方法は?
たとえば、url から organId を取得できなくなったとします。コントローラーからそれを渡す必要があります。ファクトリ メソッド内で organId を受け取るにはどうすればよいですか?
これが私のリソースjsです:
.factory('MagComments', function ($resource) {
return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
loginID : organEntity,
password : organCommpassword,
id : '@magId' //pass in param using @ syntax
});
})
これが私のコントローラーです:
$scope.magComments = MagComments.query({magId : 1});
パラメータを渡そうとしましたが、エラーが発生します