我試圖使用規則函數來設置.otherwise()以確定默認URL。我不能注入狀態或讀取路徑,因爲應用程序尚未加載,我真正需要做的是類似於在.otherwise()中解析的內容,以檢查我的UserService併爲會話ping服務器,因爲我的UserService.isLoggedIn是未定義的。你如何處理有不同的默認網址,你真的需要解決的東西?如何在.otherwise()上確定默認URL,但沒有可用的解決方案
1
A
回答
2
看一看的示例在官方文檔中:$ urlRouterProvider#methods_otherwise
// Example of using function rule as param
$urlRouterProvider.otherwise(function ($injector, $location) {
return '/a/valid/url';
});
你有$injector
和$location
,這樣你就可以竊取任何你需要的東西。如果需要,您甚至可以將其包裝在易於閱讀的注射功能中:
function myOtherwiseFunction($state, UserService, Whatever) {
// check some $state stuff
if ($state.current) { /* blah */ }
// check some Whatever stuff
if (Whatever.myFancyLogic()) { /* blah */ }
if (UserService.isLoggedIn())
return "/app";
else
return "/login";
}
$urlRouterProvider.otherwise(function ($injector, $location) {
return $injector.invoke(myOtherwiseFunction);
});
0
你可以調用你的函數isLogged in your otherwise function。
但事實是,你不能注入你的服務UserService在你的配置功能(我想有點),因爲它不是一個常量既不是提供者。
你可以做什麼在呼喚您在返回類似的決心功能的承諾恆定的記錄過程:
.constant('login', function(){
var access = function(UserService){
return $q.when('start').then(function(){
return UserService.initSession(); // I suppose you have a similar function
})
}
access.$inject = ['UserService'];
return access;
})
而且在你的配置功能:
.config([..., 'login',
...
$urlRouterProvider.otherwise(function() {
login();
...
相關問題
- 1. 默認的webmail url解決方法
- 2. 解決方案Visual C#2010的自定義默認參考
- 3. 是否有腳本解決方案來確定Mac上文件的默認應用程序路徑?
- 4. 如何在Visual Studio解決方案中定義默認項目設置
- 5. .NET 2.0的WebService在Xamarin.Forms默認的便攜式解決方案不可用
- 6. 解決方案沒有任何動作
- 7. Scipy fsolve:沒有解決方案使所有有效的解決方案失效
- 8. Python OSError解碼器jpeg不可用。沒有解決方案
- 9. 使用默認的MonoTouch解決方案產生編譯錯誤
- 10. 如何在php和URL解決方案上正確共享照片 - Web項目
- 11. Windows上可以靜默部署的rsync樣式解決方案?
- 12. 如何將自定義庫添加到默認解決方案模板?
- 13. 沒有javascript的優雅解決方案
- 14. 確定解決方案配置(Visual Studio)
- 15. 崩潰在drawInRect:rect,我有解決方案,但不知道如何?
- 16. 在使用實驗實例進行調試時指定默認解決方案
- 17. 如何解決我的自定義URL方案?
- 18. Nuget包只適用於默認解決方案配置
- 19. 在dotnet運行解決方案中設置默認項目
- 20. 在Visual Studio中的特定解決方案的默認瀏覽器
- 21. MVP/MVC中的用戶確認以及網絡解決方案
- 22. 網絡解決方案主機上的URL重定向
- 23. 有沒有不同的解決方案如何檢索航點?
- 24. JavaScript的默認/回退短的解決方案
- 25. SharpDevelop的 - 設置默認的項目解決方案
- 26. 正則表達式沒有返回正確的解決方案
- 27. 新Url Problum在沒有指定輸入文件解決方案Codeigniter
- 28. JSON解析正確的解決方案
- 29. Visual Studio如何確定解決方案文件的版本?
- 30. 有沒有BitTorrent上傳器的解決方案?
您可以分享場景的示例代碼以幫助更好地理解問題嗎? – 2014-10-07 04:26:26