我需要在我的控制器中設置一個工廠變量。該變量用於在我的工廠中返回保存功能的url。我實際上建立這個網址爲幾個片斷,但這是一個簡化的版本。在angularjs中設置控制器中的工廠變量
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
讓你的工廠函數,它的Date參數和自加入這個 - SaveDate.query調用該函數在控制器 – Clint