我想在第一次啓動我的AngularJS應用程序或每次刷新頁面時都有一個「全局函數」。
此功能將調用我的服務器$http.get()
獲取使用我的應用程序所需的全局信息。我需要在這個函數中訪問$rootScope
。之後,只有在這個請求完成後,我才使用app.config
和$routeProvider.when()
加載良好的控制器。
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/',
{
/**/
});
}]);
我不希望應用程序在此操作完成之前執行某些操作。所以我想我必須使用「解決方案」,但我真的不知道如何使用它。
任何想法?
謝謝!
你*在運行'config'塊之前不能運行'$ http'請求。 'run'塊會立即*在'config'塊之後運行,這是你可以做到的最快的一點。另外,您不應該將數據存儲在'$ rootScope'中,而是存儲在一個服務中。爲什麼在設置路由之前你覺得你需要這些信息? –
我正在嘗試創建一個國際網站,多種語言。 1.從服務器(Global function!)獲取翻譯並將這些數據放入rootScope(所有翻譯,以避免用戶在每次更換頁面時加載翻譯,並且避免列出每個我需要的關鍵字如果您有另一個想法來獲取模板中使用的關鍵字列表,然後在模板加載後加載翻譯,可能會幫助我) 2.設置路由 3.執行控制器,顯示。 – alexmngn
翻譯應該在服務當中。如果你想要一些開箱即用的服務,比如[這個](https://github.com/PascalPrecht/ng-translate),那裏就有服務 - 如果沒有別的東西,它應該提供靈感。但是在設置路由之前,您仍然沒有回答爲什麼需要翻譯。 –