离子 - 无法在导航栏上打印标题

时间:2016-09-23 14:47:56

标签: angularjs ionic-framework angular-ui-router

我正在使用角度和离子,我目前无法在导航栏中打印任何标题。

我有一个非常复杂的设置,有多个嵌套视图。

这是状态列表:

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>

然后在DetailsList内部我正在打印我需要的两个视图。

问题是我需要能够为主(主页)页面设置一个静态标题,但是当我进入详细信息时,我会动态地更改它,其中包含我的范围内页面的名称。

问题在于我无法以任何方式打印任何标题(纯文本,而不是范围)。

我尝试过(在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">
         ...

但没有任何效果。

建议?

2 个答案:

答案 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