2014-10-10 76 views
0

我是Angular的新手,可以使用一些幫助。在AngularJS中創建全局對象

我想在整個應用程序中維護一個對象。我創建了一個工廠,使用http.get請求一個JSON文件讀取:

grey.factory('JiraData', function($http) { 
    return { 
     getData: function(callback) { 
     $http.get('js/testdata.json').success(callback); 
     } 
    }; 
}); 

然後我在我的控制器訪問這些數據:

grey.controller ('StoreFilterController', function($scope, JiraData) { 
    JiraData.async().then(function(d) { 
     $scope.data = d.data; 
    }); 
}); 

我現在可以在視圖訪問該數據引用我的StoreFilterController。這些數據需要在我的應用程序中在各種控制器,工廠和指令中使用和操縱。什麼是完成這個最好的方法?

+0

使用cookie或localstorage。 – 2014-10-10 03:28:26

回答

0

如果刷新/重定向後不需要數據存活,則可以使用服務屬性$ rootScope或sessionStorage來保存數據(或全局對象,如窗口,但儘量避免它如果可能的話)。

但是,如果刷新後需要保留數據,則可以使用localStorage

0

我是新的好,但我給這個一杆;)

在.factory

返回對象

,例如: 變種O = {數據:[]}; return o;

然後在控制器中注入依賴於它的,然後設置爲等於一個範圍變量: .controller(Ctrl鍵,[ '數據', 功能(數據){$ = scope.item data.data []; }]);

這是密麼?