ion-nav-view

當用戶在你的app中瀏覽時,Ionic能夠保持檢測他們的瀏覽歷史。通過了解他們的瀏覽歷史,向左或向右滑動時可以正確的在視圖間轉換,或不轉換。一個額外的好處是Ionic的導航系統具有可以管理多個歷史記錄的能力。

Ionic利用AngularUI路由模塊,使應用程序接口可以組織成不同的“狀態”。例如Angular的核心$route服務,利用URL控制視圖。然而,AngularUI路由提供了一個更強大的狀態管理,即狀態可以被命名,嵌套, 以及合併視圖,允許一個以上模板呈現在同一個頁面。此外,每個狀態無需綁定到一個URL,並且數據可以更靈活地推送到每個狀態。

用ionNavView指令在你的app中渲染模版。每個模板都是狀態的一部分。狀態通常映射到一個url上,然後用angular-ui-router定義程序(查看它們的文檔,記下用ion-nav-view替換ui-view的例子)。

用法

在這個例子中,我們將創建一個應用程序中包含不同狀態的導航視圖。

要做到這一點,在我們的標籤中,用ionNavView頂層指令。要顯示一個頁眉,我們利用,當我們通過導航堆棧導航時,就會用ionNavBar指令更新。

你可以在navView的動畫屬性上應用任何動畫類來給它添加頁面動畫。

建議的頁面過渡: 'slide-left-right', 'slide-left-right-ios7', 'slide-in-up'。

<ion-nav-bar></ion-nav-bar>

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

  <!-- 中間內容 -->

</ion-nav-view>

接下來,我們需要設置被渲染的狀態。

var app = angular.module('myApp', ['ionic']);

app.config(function($stateProvider) {

  $stateProvider

  .state('index', {

    url: '/',

    templateUrl: 'home.html'

  })

  .state('music', {

    url: '/music',

    templateUrl: 'music.html'

  });

});

然後在app啓動時,$stateProvider就會檢查url,檢查它的索引匹配狀態,然後嘗試將home.html加載到<ion-nav-view>內。

頁面由指定的URL加載。在Angular中有一個簡單的方式就是把它們直接放到你的HTML文件,並用<script type="text/ng-template">語法。因此,這是一種把home.html載入到app中的一種方式:

<script id="home" type="text/ng-template">

  <!-- ion-view的標題會在導航欄顯示 -->

  <ion-view title="'Home'">

    <ion-content ng-controller="HomeCtrl">

      <!-- 頁面的內容 -->

      <a href="#/music">跳轉到音樂頁面!!</a>

    </ion-content>

  </ion-view>

</script>

這麼做那也是極好的,因爲緩存了模板,加載速度非常快,不必從網絡上再獲取。


更多內容,請查看:http://www.ionicframework.net/docs/api/directive/ionNavView/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章