我正在使用Angular的UI路由器。我有两个嵌套状态使用相同的控制器。当我通过ui-sref
点击从state1进入state2时,控制器被调用并重置我的所有变量。我希望控制器只被调用一次。
.state('GN.state1', {
url: '/createGNForm',
templateUrl: 'app/createGNForm/createGNForm.html',
controller: 'GNCtrl'
})
.state('GN.state2', {
url: '/newChapter/{chapterID}',
templateUrl: 'app/createGNForm/createNewChapter.html',
controller: 'GNCtrl'
})
答案 0 :(得分:2)
扩展teleaziz的答案:
.state('GN', {
url: '/GN',
abstract: true,
template: '<div ui-view></div>',
controller: 'GNCtrl'
})
.state('GN.state1', {
url: '/createGNForm',
templateUrl: 'app/createGNForm/createGNForm.html',
})
.state('GN.state2', {
url: '/newChapter/{chapterID}',
templateUrl: 'app/createGNForm/createNewChapter.html'
})
答案 1 :(得分:1)
具有抽象父状态并嵌套您想要在其下使用相同控制器的所有状态。