新米SE、マーケティングを学ぶの巻

Web系のプログラミングの記事や、マーケティングについて書いていきます。

ons-navigatorの中でons-tabbarを使う -Onsen UI-

OnsenUIのPage Patternsにタブバーの中でページナビゲーションを使うというものがありましたが、逆のパターンを行いたかったので試してみました。
最初のページのみタブバーが表示されており、そこから遷移するとタブバーが消え、ページナビゲーションでの管理になります。

言葉で説明してもなんじゃらほいなので、とりあえずデモページをみて下さい!
【OnsenUI】ナビゲーションの中でタブバーを使う:デモページ


簡単に、以下のようなことをやっています。

  • index.htmlにナビゲーションを配置、tab.htmlを読み込む。
  • tab.html内で、タブを含んだページが表示される。
  • タブで遷移してもtab.html内でのことなので、ナビゲーションは特に関係無し!
  • ナビゲーションを使ってページ遷移すると、tab.htmlからの遷移になるので、タブが表示されなくなる。


以下、各ページのソースです。

index.html(headは省略)

<body>
    <ons-navigator var="myNavigator" page="tab.html">
    </ons-navigator>
</body>


tab.html

<!-- タブバーの表示 -->
<ons-tabbar>
    <ons-tab page="page1.html" label="Page 1" icon="fa-align-justify" active="true"></ons-tab>
    <ons-tab page="page2.html" label="Page 2" icon="fa-align-justify"></ons-tab>
    <ons-tab page="page3.html" label="Page 3" icon="fa-align-justify"></ons-tab>
</ons-tabbar>


page1.html

<ons-page>
    <ons-toolbar>
        <div class="center header_title">Page1</div>
    </ons-toolbar>

    <h1 style="text-align:center;">Page1</h1>
    <br>
    <div style="text-align:center;">
	<ons-button onClick="myNavigator.pushPage('page4.html')">Page4へ</ons-button>
	<br>
	 Page4へ遷移するとタブが消えます。
    </div>
</ons-page>


page2.html

<ons-page>
    <ons-toolbar>
        <div class="center header_title">Page2</div>
    </ons-toolbar>

    <h1 style="text-align:center;">Page2</h1>
</ons-page>


page3.html

<ons-page>
    <ons-toolbar>
        <div class="center header_title">Page3</div>
    </ons-toolbar>

    <h1 style="text-align:center;">Page3</h1>
</ons-page>


page4.html

<ons-page>
    <ons-toolbar>
        <div class="left"><ons-back-button>Back</ons-back-button></div>
        <div class="center header_title">Page4</div>
    </ons-toolbar>

    <h1 style="text-align:center;">Page4</h1>
</ons-page>