我有4种状态,如下所示
$stateProvider.state('search', {
url: '/search',
controller: 'ControllerA',
template: TemplateA
}).state('results', {
url: '/searchResult/:queryString',
controller: 'ControllerA',
template: TemplateA
}).state('search.child1', {
controller: 'ControllerChild1',
template: TemplateChild1
}).state('search.child2', {
url: '/child2',
controller: 'ControllerChild2',
template: TemplateChild2
});
.controller('ControllerA' function() {
this.selectedItem = '';
});
关于我的状态的摘要: “搜索”和“结果”状态都使用相同的控制器和html。 “ search.child1”和“ search.child2”是2个子搜索状态(它们是搜索页面中的标签)。用户默认启动应用程序时,将选择search.child1。
问题陈述:
我不明白为什么会在这里发生,当我在子状态之间移动时,为什么要清除父变量?如何防止它发生?
我尝试了以下事情
this.$state.go('search.child2', {}, { reload: 'search.child2' });
this.$state.transitionTo('search.child2', {}, { notify: false });