如何在离子中定位多个视图

Din*_*esh 6 angularjs ionic-framework

我正在尝试使用离子框架来构建一个内容菜单,它有两个部分,来自不同的控制器.我已指定他们为view: menuContentview: menuSubcontent下面.

HTML

<ion-side-menus>
    <ion-side-menu-content>
        <ion-nav-bar class="main bar-stable nav-title-slide-ios7">
            <ion-nav-back-button class="button-clear"><i class="icon"></i></ion-nav-back-button>
        </ion-nav-bar>

        <ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
        <ion-nav-view name="menuSubcontent"></ion-nav-view>

    </ion-side-menu-content>

    <ion-side-menu side="left">
        <header class="bar bar-header bar-stable">
            <h1 class="title">Left</h1>
        </header>
        <ion-content class="has-header">
            <ion-list>
                <ion-item nav-clear menu-close ng-click="login()">
                    Login
                </ion-item>
                <ion-item nav-clear menu-close href="#/app/morestuff">
                    etc.
                </ion-item>
            </ion-list>
        </ion-content>
    </ion-side-menu>
</ion-side-menus>
Run Code Online (Sandbox Code Playgroud)

路由器

.state('app.playlists', {
    url: "/playlists",
    views: {
        'menuContent': {
            templateUrl: "templates/playlists.html",
            controller: 'PlaylistsCtrl'
        },
        'menuSubcontent': {
            template: "<span>subcontent of playlists</span>"
            }
        }
    })
Run Code Online (Sandbox Code Playgroud)

当页面呈现时,<ion-nav-view name="menuSubcontent">虽然它在DOM中,但是不可见.我添加了一些CSS属性以使其可见:

z-index: 2
margin-top: 400px; /* some arbit large number */
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是正确的方法(将我自己的css类添加到menuSubcontent),或者是否有系统的方式使用框架来消除多个视图定位中的猜测.我还在学习如何使用这个框架.

Bhu*_*ara 0

<ion-side-menus ng-controller="SideMenuController">

  <!-- Header Changes -->
  <ion-side-menu-content drag-content="false">
    <ion-nav-bar class="bar bar-header bar-positive">

      <!-- Open Sidebar Menu Start-->
      <ion-nav-buttons side="left">
        <button class="button button-icon icon ion-navicon" menu-toggle="left"></button>
      </ion-nav-buttons>
      <!-- Open Sidebar Menu End -->

      <ion-nav-back-button class="button-clear">
        <i class="ion-chevron-left"></i> Back
      </ion-nav-back-button>

      <!-- Open Sidebar Menu Start-->
      <ion-nav-buttons side="right">
        <button class="button button-icon icon ion-refresh" ng-click="doRefresh()"></button>
      </ion-nav-buttons>
      <!-- Open Sidebar Menu End -->

    </ion-nav-bar>

    <ion-nav-view name="main" animation="slide-left-right">
    </ion-nav-view>

  </ion-side-menu-content>
  <!-- Header Changes -->

  <!-- SideMenu Contents -->
  <ion-side-menu side="left" class="light-bg dark-border">

    <header class="bar bar-header bar-light">
      <h1 class="title">Route Menu</h1>
    </header>

    <ion-content class="has-header">
      <div class="list">

        <a menu-close class="item item-icon-left" href="#/app/home">
          <i class="icon fa fa-bank fa-ionicon"></i>
          Home
        </a>

    </ion-content>
    <!-- SideMenu Contents -->
  </ion-side-menu>


</ion-side-menus>



    //** abstract route for sidemenu
    $stateProvider.state('app', {
      url: '/app',
      abstract: true,
      templateUrl: 'templates/sidemenu.tpl.htm'

    });

    //!** Home
    $stateProvider.state('app.home', {
      url: '/home',
      views: {
        'main': {
          templateUrl: 'app/home/home.tpl.htm'
        }
      }

    });
Run Code Online (Sandbox Code Playgroud)

在路线中将模板定义为抽象:来源:http ://codepen.io/ionic/pen/vqhzt