【发布时间】:2015-09-18 12:40:34
【问题描述】:
我现在真的很沮丧。我现在尝试更改 ionic 应用中的状态超过 5 个小时。
这就是我所拥有的。
$stateProvider
.state('tab', {
url: '/tab',
abstract: true,
templateUrl: 'templates/tabs.html'
})
.state('tab.issues', {
url: '/issues',
views: {
'tab-issues': {
templateUrl: 'templates/tab-issues.html',
controller: 'IssuesController'
}
}
})
.state('tab.issue-detail', {
url: '/issues/:vertragsNr',
views: {
'tab-issues': {
templateUrl: 'templates/issue-details.html',
controller: 'IssueDetailsController'
}
}
})
.state('tab.issue-steps', {
url: '/issues/:vertragsNr/steps',
views: {
'tab-issues': {
templateUrl: 'templates/issue-steps.html',
controller: 'IssueStepsController'
}
}
})
当我在浏览器中手动打开 url http://localhost:8100/#/tab/issues/1/steps 时,一切正常,控制器加载完毕,一切正常。
但是当我这样做时
$scope.goto = function(){
$state.go('tab.issue-steps','{vertragsNr:1}')
}
在 IssueDetailsController 中,我看到了一个转换,并且 IssueStepsController 被加载,但视图没有改变。
我也试过了
ui-sref="tab.issue-steps({ vertragsNr: r.vertragsNr})"
但是当我点击按钮时什么都没有发生。我看到在页面的源代码中,在元素上创建了一个 href="#/tab/issues/1/steps" 但它不会改变视图。
我也试过
.state('tab.issue-steps', {
url: '/steps',
views: {
'tab-issues': {
templateUrl: 'templates/issue-steps.html',
controller: 'IssueStepsController'
}
}
})
但它仍然没有重定向。
我也试过了:
$location.url("tab/issues/1/steps");
这也不行
我不明白为什么仅仅改变一个简单的视图就必须如此复杂!
我不希望细节视图中有任何子视图。我只想打开步骤视图。
好的,澄清一下,我需要将步骤视图加载到选项卡问题视图中,这是我的选项卡控件的内容,这在子视图中不起作用。
我对这个问题做了一个小问题:http://plnkr.co/edit/YK7Fp3vUhEPGZeYtOF9Y?p=info 奇怪的是在第二次单击时,一切都在 plunker 上工作。但代码与我的应用程序中的代码完全相同。
【问题讨论】:
标签: angularjs ionic-framework angular-ui-router ionic