2015-08-31 62 views
0

我有一個對象,其中包含我的應用程序啓動時需要加載的一些數據。一旦它被加載,我需要能夠在我的應用程序的多個地方重用。如何防止在angularJS中反覆加載相同的數據

這樣做的最好方法是什麼?

現在我有一個工廠,我注入到我的控制器,我拉數據,問題是,我正在做數據拉多次。

只有當我加載應用程序時,拉動數據的最佳方式是什麼? 我只需要訪問我的模板上的數據,並從我需要的對象中提取正確的鍵值。

+0

創建所述的承載數據的模型和服務,這樣你將有一個抽象層來控制它。 – ajmajmajma

回答

1

您需要使用angularjs服務而不是工廠。 angularjs中的服務是單工的,而工廠則不是。

您應該能夠改變工廠的註冊方式,使其成爲服務。

var yourModule = angular.module('yourModule', []); 
yourModule.service(

代替

yourModule.factory(

更多的信息在這裏:https://docs.angularjs.org/guide/services

+0

感謝您的提示,這應該可以解決我的問題。所以服務只會通過我的應用程序生成一個實例,工廠不會這樣做?我是angularJS的新手:) – Ennio

+0

正確的是,當一個工廠被注入時,每次都會創建一個新的實例。當一個服務被注入時,每次注入同一個實例。讓我知道如果你仍然有問題,但服務應該做的伎倆。 –

相關問題