【发布时间】:2014-07-25 16:26:06
【问题描述】:
当使用onEnter重定向到某个状态时,如果新状态是当前状态的子状态,则会出现死循环。
示例:
$stateProvider
.state 'inventory',
url: '/inventory'
templateUrl: 'views/inventory.html'
controller: 'InventoryCtrl'
onEnter: () ->
$state.go 'inventory.low'
.state 'inventory.low',
url: '/low'
templateUrl: 'views/inventory-table.html'
controller: 'LowInventoryCtrl'
时间:
$state.go 'inventory.low'
被调用,状态inventory被重新初始化,导致再次被调用=无限循环。
但是,如果重定向状态是:
$state.go 'otherStateThatIsNotAChild'
不会发生此问题。我假设父状态正在重新初始化,但为什么呢?
- 为什么在子状态上调用
.go时会重新初始化父状态? - 那么,您将如何处理重定向到子状态?
【问题讨论】:
-
TaylorMac,看我的编辑。
标签: javascript angularjs angular-ui-router