【发布时间】:2018-04-30 13:03:35
【问题描述】:
我有一些嵌套状态:
$stateProvider.state({
name: 'parent',
url: '/parent',
abstract: true,
template: '<ui-view/>'
})
.state({
name: 'parent.child1',
url: '/:id/child1',
templateUrl: 'path/to/template'
})
.state({
name: 'parent.child1.child2',
url: '/child2',
onEnter: function($state, $stateParams, $rootScope, $uibModal) {
$uibModal.open({
templateUrl: 'path/to/template',
controller: 'Controller',
controllerAs: 'vm',
size: 'md',
backdrop: 'static'
}).result.then(function(result) {
if (result) {
return $state.transitionTo("parent.child");
}
});
}
});
第二个子状态是一个模态,当它的表单提交完成时,应该关闭模态,转换回第一个子状态,然后重新加载第一个子状态。为此,我正在使用:
function close() {
$uibModalInstance.dismiss();
$state.transitionTo('parent.child1', $stateParams, {reload: true});
}
模态正确关闭,并发生转换,但未发生重新加载。我也尝试过使用$state.go('parent.child1', $stateParams, {reload: true});,但同样的事情发生了。
有谁知道我做错了什么?谢谢!
更新
通过取消嵌套第二个孩子(即将 parent.child1.child2 更改为 parent.child2),我能够达到预期的结果。
从技术上讲,这对我正在做的事情来说很好,但如果有人有任何想法,我还是宁愿嵌套它们。
【问题讨论】:
标签: angularjs nested angular-ui-router reload