基本上,我正在尝试从我的root.home状态过渡到root.topic.section(具有嵌套部分视图的主题视图)。视图加载,但我的后退按钮和视图标题没有出现。视图标题与 root.home 中的标题相同。我不明白,因为当我使用 ui-sref 更改为兄弟状态(没有子状态)时,它确实会更改标题。
编辑:当我从root.home导航到同级页面root.dbtest时,dbtest在DOM中创建了一个具有正确标题的新导航栏元素,并将home的导航栏设置为"缓存"。但是当我从root.home导航到root.topic.section时,没有创建新的DOM元素并且home保持活动状态。
编辑 2 这是我用来从 root.home 链接到子状态的"ui-sref"。
<a ui-sref="root.topic.section({topicId: xxx, inStore: false, topicName: xxx, sectionType: SECTION_TYPE.Summary})">link</a>
.
$stateProvider
.state('root', {
url: '/root',
abstract: true,
templateUrl: 'templates/menu-static.html',
controller: 'MenuCtrl'
})
.state('root.home', {
url: '/home',
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})
.state('root.topic', {
url: '/topic/:topicId/{inStore}',
abstract: true,
cache: false,
views: {
'menuContent': {
templateUrl: 'templates/topic-view.html',
controller: 'TopicCtrl'
}
},
params: {topicName: null}
})
.state('root.topic.section', {
url: '/section/:sectionType',
views: {
'sectionSpace': {
templateUrl: 'templates/topic-section-view.html',
controller: 'TopicSectionCtrl'
}
}
})
这是我的菜单静态片段.html
<ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="right">
<button class="button button-icon button-clear ion-navicon" menu-toggle="right">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent">
</ion-nav-view>
</ion-side-menu-content>
这是家里的一个片段.html
<ion-view view-title="All Topics">
<ion-nav-title>All Topics</ion-nav-title>
<ion-content>
</ion-content>
</ion-view>
这是主题视图中的一个片段.html
<ion-view view-title="NOT SHOWING">
<ion-nav-title>NOT SHOWING</ion-nav-title>
<ion-content>
<ion-nav-view name="sectionSpace">
</ion-nav-view>
</ion-content>
</ion-view>
另外:网址目前将是/root/topic/...这似乎是不可取的=>你可以让root有url: '',
,这将允许url是/topic/以上对我效果不佳,所以我亲自尝试了这个,它确实对父母有用:
主题视图.html
<ion-view view-title="NOT SHOWING">
<div class="tabs-striped tabs-top tabs-background-balanced tabs-color-light">
<div class="tabs">
<a ng-repeat='section in ["Section1", "Section2", "Section3"]' class="tab-item" ng-click='goTo(section.toLowerCase())'>
{{section}}
</a>
</div>
</div>
<ion-nav-view name='sectionSpace'></ion-nav-view>
</ion-view>
它确实奏效了。我不确定这个{inStore}是关于什么的,但也许这是针对早期版本的Ionic/Angular的,我想我在这个代码笔中得到了这个工作:http://codepen.io/zargold/pen/qZNJNJ?editors=1011