我正在使用角度和离子,我目前无法在导航栏中打印任何标题。
我有一个非常复杂的设置,有多个嵌套视图。
这是状态列表:
state('app', {
cache: false,
url: '/app',
abstract: true,
templateUrl: './sections/menu/menu.tpl.html',
controller: 'menuCtrl'
}).state('app.home', {
url: '/home',
views: {
'appContent': {
templateUrl: './sections/menu/pageViewsContainer.tpl.html',
controller: 'homeCTRL'
},
'Details@app.home': {
templateUrl: './sections/home/home.tpl.html'
},
'List@app.home': {
templateUrl: './sections/List/List.tpl.html'
}
}
}).state('app.details', {
name: 'appDetails',
url: '/:ID',
views: {
'appContent': {
templateUrl: './sections/menu/pageViewsContainer.tpl.html',
controller: 'DetailsCtrl'
},
'zoneDetails@app.details': {
templateUrl: './sections/Details/Details/details.tpl.html'
},
'zoneList@app.details': {
templateUrl: './sections/List/List.tpl.html'
}
}
});
我的主要(抽象)状态是app并使用menu.tpl.html
,如下所示:
<ion-side-menus enable-menu-with-back-views="true">
<ion-side-menu-content class="custom-central-content">
<ion-nav-bar class="bar-calm custom-header-bar">
<ion-nav-buttons side="left">
<!--<button class="button button-icon button-clear ion-home" menu-toggle="left"></button>-->
<button class="button button-icon button-clear ion-home" ui-sref="app.myHouse" id="AppMenuLeftIcon"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
<button class="button button-icon button-clear ion-navicon" menu-toggle="right" id="AppMenuRightIcon"></button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-view ui-view="appContent"></ion-view>
</ion-side-menu-content>
<ion-side-menu side="right">
<ion-header-bar class="bar-dark">
.....
在<ion-view ui-view="appContent"></ion-view>
内我正在使用pageViewsContainer.tpl.html
中的模板:
<ion-view>
<ion-content class="hg-split-page-container">
<div ui-view="List" class="hg-split-page-zone-list has-header" nav-transition="none"></div>
<ion-nav-view name="Details" class="hg-split-page-zone-details"></ion-nav-view>
</ion-content>
</ion-view>
然后在Details
和List
内部我正在打印我需要的两个视图。
问题是我需要能够为主(主页)页面设置一个静态标题,但是当我进入详细信息时,我会动态地更改它,其中包含我的范围内页面的名称。
问题在于我无法以任何方式打印任何标题(纯文本,而不是范围)。
我尝试过(在pageViewsContainer.tpl.html中):
<ion-view>
<ion-nav-title>View 1</ion-nav-title>
<ion-content class="hg-split-page-container">
<div ui-view="List" class="hg-split-page-zone-list has-header" nav-transition="none"></div>
<ion-nav-view name="Details" class="hg-split-page-zone-details"></ion-nav-view>
</ion-content>
</ion-view>
<ion-view view-title="View 1">
<ion-content class="hg-split-page-container">
<div ui-view="List" class="hg-split-page-zone-list has-header" nav-transition="none"></div>
<ion-nav-view name="Details" class="hg-split-page-zone-details"></ion-nav-view>
</ion-content>
</ion-view>
以及(内部详细信息模板):
<ion-view>
<ion-nav-title>View 1</ion-nav-title>
<ion-content class="has-footer has-header">
...
<ion-view view-title="View 1">
<ion-content class="has-footer has-header">
...
但没有任何效果。
建议?
答案 0 :(得分:0)
尝试在标题栏中添加title命令
<ion-view>
<ion-header-bar class="bar-stable">
<h1 class="title">View 1</h1>
</ion-header-bar>
<ion-view>
或尝试
<ion-view>
<div class="bar bar-header browse-header" align-title="center">
<h1 class="title">View 1</h1>
</div>
<ion-content class="has-header">
</ion-content>
</ion-view>
答案 1 :(得分:0)
事实证明我必须在我的导航上进行相当多的更改,因为我以完全错误的方式使用嵌套视图,父级,子级。它现在工作正常。
此外,如果由于某些原因,标题导航栏仍未显示,您可以在控制器中强制使用它(coffeescript):
# This should show the navabar everytime the view is entered
$scope.$on '$ionicView.enter', () ->
$ionicNavBarDelegate.showBar true