在我的应用程序的 $stateProvider 上,我定义了应用程序的所有状态:
+ function () {
"use strict";
function cataneiConfig($stateProvider, $urlRouterProvider, $httpProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'loginCtrl as $ctrl'
})
.state('layout', {
url: '/layout',
views:{
'':{//Default layout
templateUrl: 'views/layout.html',
controller: 'layoutCtrl as $ctrl'
},
'list@layout':{
templateUrl: 'views/list.html',
controller: 'listPersonaCtrl as $ctrl'
},
'form@layout': {
templateUrl: 'views/form.html',
controller:'createPersonaCtrl as $ctrl'
},
'edit@layout':{
params: { obj: null },
templateUrl: 'views/edit.html',
controller:'editPersonaCtrl as $ctrl'
}
},
})
.state('error', {
url: '/error',
templateUrl: 'views/error.html'
});
$urlRouterProvider.otherwise('login');
}
cataneiConfig.$inject = [
"$stateProvider",
"$urlRouterProvider",
"$httpProvider",
];
angular
.module("appTareas")
.config(cataneiConfig);
}();
从登录控制器 ===> $state.go('layout') 工作并重定向到layout.html ....如预期的那样。
从layout.html ===><ui-view ='list'/>
正确显示list.html在layout
状态内。
从列表控制器 ===> $state.go('form')或$state.go('edit')不起作用。在list.html <a ui-sref='form'/>
中不起作用。
如何在不同的视图及其控制器之间重定向?