這是我主要的應用程序(app.js)角JS - UI路由器頁面重載不會將狀態
(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']));
的預期的行爲是
- 重定向到「應用程序」鏈接時,沒有匹配的路由發現
- 激活在根URL
- 「根」 的狀態激活/ TODO網址
這是工作罰款 「root.substate」 狀態。
但是,如果我刷新頁面,狀態不會被激活,我會被髮送回「應用程序」。爲什麼?
也許不是真正的問題
喜歡提到here,但我會**肯定* *用'/' - 'url:'/ todo/{type}''開始任何網址'' – 2015-02-06 13:34:46
我仍在測試,但似乎主要的斜線可能是問題。 – brazorf 2015-02-06 14:37:09
你知道爲什麼嗎?簡單地說,必須有一些方法來清楚地定義狀態URL的起始位置。你的url映射表明:'domain/applogin'實際上......並且我建議:'domain/app/login'。所以沒有斜線...發動機的大問題,如果你知道我的意思 – 2015-02-06 14:38:15