这是我的主要应用程序(app.js)。
(function(ng, module) {
module.config(['$stateProvider', '$urlRouterProvider', function( $stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("app");
$stateProvider.state('login', {
url: 'login',
templateUrl: '/assets/templates/pages/login.html'
}).state('root', {
url: '',
templateUrl: '/assets/templates/pages/index.html'
});
}]);
}) (angular, angular.module('myapp', ['ui.router', 'myapp.submodule']));
这是子模块(submodule.js)。
(function(ng, module) {
module.config(['$stateProvider', function($stateProvider){
$stateProvider.state('root.substate', {
url: 'todo/{type}',
templateUrl: '/assets/app/todo/todo.html',
controller: function($stateParams, $scope) {
// Do stuff.
}
});
}]);
}) (angular, angular.module('myapp.submodule', ['ui.router']));
预期的行为应该是:
- 在找不到匹配路由时,重定向到“app”网址
- 在根网址上激活“root”状态
- 在/todo网址上激活“root.substate”状态
这个功能正常工作。
然而,如果我刷新页面,状态就没有被激活,而我被发送回“app”。为什么呢?
/
开头来启动任何 URL -url: '/todo/{type}'
- Radim Köhlerdomain/applogin
,而我建议使用domain/app/login
,所以没有斜杠...如果你知道我的意思,那对引擎会造成很大的问题。 - Radim Köhler