Ion-nav-view with nested ion-nav-view not working

I have a strange problem with ion-nav-view

nesting. When I load the app in the browser, I see the url changes to /app/menu

, but the page has no content from menu.html

. The page is empty.

Below is the code snippet

index.html

<body ng-app="starter">
 <ion-nav-view></ion-nav-view>
</body>

      

app.js

.config(function ($stateProvider, $urlRouterProvider) {
  $stateProvider.
    state("app", {
    url: "/app",
    abstract: true,
    templateUrl: "templates/default.html",
    controller: "AdaptiveController"
  })
    .state("app.menu", {
    url: "/app/menu",
    views: {
      "page-content": {
        templateUrl: "templates/menu.html",
        controller: "MenuController"
      }
    }

  });

  $urlRouterProvider.otherwise("/app/menu");
})

      

default.html

<ion-view>
    <ion-content>
        <ion-nav-view name="page-content"></ion-nav-view>
    </ion-content>
</ion-view>

      

menu.html

<ion-view>
    <ion-header-bar class="bar bar-positive bar-header" align-title="center" no-tap-scroll="true">
        <div class="buttons buttons-left header-item">
            <span class="left-buttons"></span>
        </div>
        <div class="bar bar-header bar-positive header-item">Welcome</div>
        <div class="buttons buttons-right header-item">
            <span class="right-buttons"></span>
        </div>
    </ion-header-bar>
    <ion-content>
      <ion-list>
       <ion-item class="item item-icon-left">
         <i class="icon ion-person"/>   
         <h3>Profile</h3>
       </ion-item>
      </ion-list>
    </ion-content>
</ion-view>

      

If I change the code in default.html

to make it work.

<ion-side-menus enable-menu-with-back-views="false">
  <ion-side-menu-content>
    <ion-nav-view name="page-content"></ion-nav-view>
  </ion-side-menu-content>
</ion-side-menus>

      

Does this mean that Ion-nav browsing needs tabs or ion-side menus? Can't it work with ionic review?

+3


source to share


1 answer


Try changing your code:

.state("app.menu", {
url: "/app/menu",
views: {
  "page-content": {
    templateUrl: "templates/menu.html",
    controller: "MenuController"
  }
}

      

to



.state("app.menu", {
url: "/menu",
views: {
  "page-content": {
    templateUrl: "templates/menu.html",
    controller: "MenuController"
  }
}

      

in hrefs continue to write # / app / menu

+1


source







All Articles