サイドメニューテンプレートには、app.jsで定義されたいくつかのネストされた状態があります。 ネストされた状態(「app.single」など)に移動すると、ion-nav-barが「<戻る」ボタンで更新されます。
「ホームページ」(「/ app / playlists」)に戻ると、戻るボタンがイオンナビゲーターに置き換えられます(menu.htmlを参照)。 コントローラに簡単な関数を追加して、ホームページ(playlists.html)に移行することもできます。
$scope.goHome = function() {
$state.go('app.playlists');
};
別のレベルのネストされた状態を追加する場合:
.state('app.playlists.classic-rock', {
url: "/classic-rock",
views: {
'menuContent<strong i="10">@app</strong>': {
templateUrl: "templates/classic-rock.html",
controller: 'ClassicRockController'
}
}
})
そして、ホームページに移行するビューコントローラからgoHome()関数を呼び出しますが、戻るボタンはイオンナビゲーターに置き換えられていませんか?
これは、あるビューから別のビューに移動してから「ホームページ」に戻る場合にも当てはまります。
サイドメニューテンプレートのmenu.html:
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon"
menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
イオン-NAV-ボタンは、イオン-NAV-表示できないイオンナビゲーションバーの直系の子孫でなければなりません。
menu.htmlを更新しました:
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
</ion-nav-bar>
および更新されたplaylists.html:
<ion-view view-title="Playlists">
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon"
menu-toggle="left">
</button>
</ion-nav-buttons>
<ion-content>
<ion-list>
<ion-item ng-repeat="playlist in playlists"
href="#/app/playlists/{{playlist.id}}">
{{playlist.title}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
つまり、あなたが説明していることとマークアップは実際には正しいのです。
http://codepen.io/mhartington/pen/azwojR
あなたが説明していることは、menu-close属性が原因です。
http://ionicframework.com/docs/api/directive/menuClose/
したがって、サイドメニューからナビゲートすると、メニューを閉じる属性を持つリンクによって履歴がクリアされ、戻るボタンが表示されなくなります。
あなたの場合、 $state.go
を介してナビゲートしていますが、これにはmenu-closeが提供するロジックがありません。
したがって、それに少し追加する必要があります。
$scope.goHome = function() {
$state.go('app.playlists');
$ionicHistory.nextViewOptions({
historyRoot: true
});
};
ありがとう@mhartington...。
それは私の問題を解決しました...
最も参考になるコメント
つまり、あなたが説明していることとマークアップは実際には正しいのです。
http://codepen.io/mhartington/pen/azwojR
あなたが説明していることは、menu-close属性が原因です。
http://ionicframework.com/docs/api/directive/menuClose/
したがって、サイドメニューからナビゲートすると、メニューを閉じる属性を持つリンクによって履歴がクリアされ、戻るボタンが表示されなくなります。
あなたの場合、
$state.go
を介してナビゲートしていますが、これにはmenu-closeが提供するロジックがありません。したがって、それに少し追加する必要があります。