2016-05-27 38 views
0

我在工廠的功能,看起來像這樣:值被覆蓋或在工廠函數忽略了angularjs

myApp.factory('SaveDate', ['$resource', 
function saveDateFactory($resource) { 
    var myData = ''; 

    //this grabs the data we need for the url below 
    function setMyData(data) { 
    myData = data; 
    } 

    return { 
    setMyData: setMyData, 
    resource: $resource(myData, {}, { 
     query: { method: "POST", params: {}, isArray: false } 
    }) 
    }; 
}]); 

我把它在我的控制器是這樣的:

vm.myFunction1 = function ($resource) { 

    vm.myDate = '/api/Product/SetMilestoneDate/vm.officeKey/vm.whichMilestone/vm.yearSelected/vm.monthSelected/vm.daySelected'; 

    SaveDate.setMyData(vm.myDate); 

    //this should save the date for milestones 
    SaveDate.resource.query(); 
    vm.cleanUp(); 

}; 

我我在工廠中正確地獲取了setMyData的值。在工廠的底部(返回),它忽略了這個值,並且隨着我首先聲明變量時使用的任何值。如果我使用通過myData提供的硬值聲明變量,該函數完美工作(它從我聲明的位置獲取值)。有沒有人有任何想法,爲什麼它會忽略來自setMyData的myData值,並使用默認值?感謝您的幫助!

回答