2016-06-17 63 views
0

我有一個具有5000個不同變量的數組值的角度應用程序。在整個項目中,我需要5個控制器中的3個控制器具有相同的值。現在我正在使用工廠來保存這些數據。 $ rootScope是一種更有效的方法,或者當前的方法更好。保存數據的最佳方式是在控制器中角度的工廠變量或RootScope變量

+1

你也可以將它們存儲在本地存儲或從數據源中的每個時間獲取它們。這個問題太寬泛,一個孤立的,規範的答案 – Phil

+0

http://stackoverflow.com/questions/32761540/why-using-rootscope-with-functions-is-not-recommended 請通過此鏈接解決方案是在這裏解決並避免使用本地存儲和會話存儲 –

回答

1

$ rootScope是所有作用域的父級,因此在那裏暴露的值將在所有模板和控制器中可見。使用$ rootScope非常簡單,只需將其注入任何控制器並在此範圍內更改值即可。它可能很方便,但具有全局變量的所有問題。

服務是可以注入任何控制器並在控制器範圍內公開其值的單例。作爲單身人士的服務仍然是「全球性」,但你對使用和暴露的地方有更好的控制。

請看問題 - Global variables in AngularJS

0

$ rootscope並不是一個好的選擇。總是最好使用工廠進行數據共享。

相關問題