之前的工作是" /"是" / main",它能够将主和仪表板加载为$ urlRouterProvider.otherwise(" / main / dashboard");
但现在我已改为" /"而不是" / main",所以它不起作用,它只加载主页而不是仪表板。我已经更改了代码,因为我正在使用https://github.com/AzureAD/azure-activedirectory-library-for-js,并且它存在循环问题。
以下是代码示例(config.js)
myapp.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$compileProvider', '$httpProvider', 'adalAuthenticationServiceProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider, $compileProvider, $httpProvider, adalProvider) {
$compileProvider.debugInfoEnabled(true);
$locationProvider.html5Mode(true).hashPrefix('!');
$urlRouterProvider.otherwise("/dashboard");
$stateProvider
// Main content
.state('main', {
abstract: false,
url: "/",
templateUrl: "/app/views/common/content.html"
})
.state('main.dashboard', {
url: "dashboard",
templateUrl: "/app/views/dashboard.html",
requireADLogin: true,
data: {
pageTitle: 'Dashboard'
}
})
.state('main.usermanagement', {
url: "/usermanagement",
template: "<div ui-view></div>",
requireADLogin: true
});
}])
答案 0 :(得分:1)
将此默认childState用于main:
$urlRouterProvider.when('/', '/dashboard');
你应该写&#39; /&#39;
.state('main.dashboard', {
url: "/dashboard",
templateUrl: "/app/views/dashboard.html",
requireADLogin: true,
data: {
pageTitle: 'Dashboard'
}
})
答案 1 :(得分:1)
问题是您没有以正确的方式定义网址
请使用以下内容,url应以 /sdcard
/
$urlRouterProvider.otherwise("/dasenter code herehboard");
试试吧
答案 2 :(得分:1)
以下代码解决了我的问题,如果有人在使用时遇到此问题 https://github.com/AzureAD/azure-activedirectory-library-for-js图书馆。
$urlRouterProvider.otherwise(function ($injector, $location) {
var $state = $injector.get("$state");
$state.go("main.dashboard");
});