コントローラに工場出荷時の変数を設定する必要があります。この変数は、工場で保存関数を返すためのURLに使用されます。私は実際にいくつかの部分としてこのURLを構築するが、これは単純化されたバージョンです。コントローラの工場変数をanglejsに設定する
myApp.factory('SaveDate', ['$resource',
function saveDateFactory($resource, $http) {
var myData = '';
return $resource(myData, {}, {
query: { method: "POST", params: {}, isArray: false },
});
}]);
私のコントローラからの機能は次のようになります。
vm.myFunction1 = function ($resource) {
vm.myDate = '/test/MyProduct/SetSalesDate/988093099/108/2016/05/21';
SaveDate.myData = vm.myDate;
//this should save the date for milestones
SaveDate.query();
vm.cleanUp();
};
私は、オブジェクトの代わりに、プリミティブを使用して試してみましたが、それはまた、うまくいきませんでした。私はテストして、SaveDate.myDataの値が正確に設定されています。工場で変数を宣言している場所に値をハードコードすると、完全に保存されます。変数をコントローラから工場に正常に渡すことができません。私は$ watchを使うことを含め、これを行うためのさまざまな方法を試しました。これに助けてくれてありがとう!私はこのような機能を追加した
:不明なプロバイダ::この機能を追加する
myApp.factory('SaveDate', ['$resource',
function saveDateFactory($resource, $http) {
var myData = {};
myData.getMyUrl = function (urlStuff) {
alert("in SaveDate" + urlStuff);
return $http.get(urlStuff);
}
return $resource(myData.getMyUrl, {}, {
query: { method: "POST", params: {}, isArray: false }
は、次のエラースローmyDataProvider < - MYDATA < - UserListController
日付のparamを取り、あなたの工場内の関数を作成して、あなたのコントローラ – Clint