我一直在尋找這個答案,但沒有得到任何明確或明確的答案如何解決和實現這一點。獲取服務器設置後,推波助瀾,但在任何其他
在我anguarJS應用程序,我想確保AngularJS後的第一件事情已經加載/自舉,它通過$http
轉到服務器並取得一些設置(通過調用API:/api/settings/get
) - 視子域和/或如果有JWT或其他用戶會話,它將檢索應添加到$rootScope
的一些設置數據。
我的問題是,我一直沒有能夠「停止」應用程序,只有當設置被提取並填充了$rootScope
時,才能繼續它的日常生活。如果抓取或設置調用可能會導致應用程序「停止」 - 所以關鍵是這些設置會很早加載,所以我知道所有的東西(服務,控制器,指令等)都可以訪問它們。
我試過$broadcast
事件,並將其放入我的.run
函數中,但它似乎仍然解析了應用程序(或許顯然是因爲它是異步的)。
apiConnector.get('api/settings/get').then(function(settings) {
$rootScope.settings = settings;
$rootScope.$broadcast('settings-fetched');
});
但是,我不喜歡這種方法,並要求我到處聽這個事件。
我的路線既公開又受限制。
我希望有人能幫助我以正確的方向解決問題。
你是否有機會在你的應用中使用ui-router?如果這樣解決可能是一個好的解決方案。 –
嗨艾瑞克,我忘了那個細節。是的,我在我的項目中使用了ui.router。 我該如何解決這個問題?前段時間我一直在嘗試,但沒有運氣 – Mestika