2015-04-07 57 views
0

您好我正在AngularJS中創建一個自定義工廠,涉及聲明一個對象,該對象具有在ng-view/ui-router中使用的不同頁面中使用的屬性。如何在AngularJS Factory中正確聲明對象屬性?

app.factory('FormValues', function(){ 
    //Custom factory that allows values to be passed inbetween different pages in the ng-view form. 
    var formVals = {};  

    formVals.custEmail = ''; 
    formVals.custPhone = ''; 
    formVals.movieChosen = ''; 
    formVals.movieTime = ''; 
    formVals.movieTickets = ''; 
    formVals.movieCost = 0; 
    formVals.concObjects = {}; 
    formVals.concPurchases = ''; 
    formVals.concTotalCost = 0; 
    formVals.finalCost = 0; 
    formVals.tax = 0; 
    formVals.subTotal = 0; 

    return formVals; 
}); 

工廠按預期工作,對象屬性正在保存,並在不同的頁面中使用。

但是,現在我很確定我創建這個工廠的方式,並且使用對象不是最有效的方法。關於我的任何提示都可以清理並提高效率?我甚至不確定我是否應該聲明空的空白對象屬性。

感謝

+0

我可能會使用$ cacheFactory ... https://docs.angularjs.org/api/ng/service/$cacheFactory – tpie

回答

0

我沒有看到任何清理代碼除少量改變到formVals對象。

app.factory('FormValues', function(){ 
    //Custom factory that allows values to be passed inbetween different pages in the ng-view form. 
    var formVals = { 
     custEmail : '', 
     custPhone : '', 
     movieChosen : '', 
     movieTime : '', 
     movieTickets : '', 
     movieCost : 0, 
     concObjects : {}, 
     concPurchases : '', 
     concTotalCost : 0, 
     finalCost : 0, 
     tax: 0, 
     subTotal: 0 
    };  

    return formVals; 
});