• 3、嵌套路由


    同理 在看 嵌套路由的时候 来分析一下 ionic2 默认生成的 tabs 项目。目录结构:

    child 目录是我新加的 因为这里是要做用来做嵌套路由的。 首先先看app.js

    /* --- app.js ----*/
     
    import {App, Platform} from 'ionic-angular';
    import {StatusBar} from 'ionic-native';
    import { TabsPage } from './pages/tabs/tabs';
     
     
    @App({
      template: '<ion-nav [root]="rootPage"></ion-nav>',
      config: {} // http://ionicframework.com/docs/v2/api/config/Config/
    })
     
    export class MyApp {
      static get parameters() {
        return [[Platform]];
      }
     
      constructor(platform) {
        this.rootPage = TabsPage;
     
        platform.ready().then(() => {
          // Okay, so the platform is ready and our plugins are available.
          // Here you can do any higher level native things you might need.
          StatusBar.styleDefault();
        });
      }
    }
     
    /* --- app.js  ----*/

    看完上一章 之后 就觉得没啥特别的嘛。看三个红色部分就知道了。 贴 tabs 代码。

    /* --- html ----*/
     
    <ion-tabs>
      <ion-tab [root]="tab1Root" tabTitle="Tab 1" tabIcon="pulse"></ion-tab>
      <ion-tab [root]="tab2Root" tabTitle="Tab 2" tabIcon="chatbubbles"></ion-tab>
      <ion-tab [root]="tab3Root" tabTitle="Tab 3" tabIcon="cog"></ion-tab>
    </ion-tabs>
     
    /* --- tabs.html  ----*/
    /* --- tabs.js ---*/
     
    import {Page} from 'ionic-angular';
    import {Page1} from '../page1/page1';
    import {Page2} from '../page2/page2';
    import {Page3} from '../page3/page3';
     
    @Page({
      templateUrl: 'build/pages/tabs/tabs.html'
    })
     
    export class TabsPage {
      constructor() {
        // this tells the tabs component which Pages
        // should be each tab's root Page
        this.tab1Root = Page1;
        this.tab2Root = Page2;
        this.tab3Root = Page3;
      }
    }
     
    /* --- tabs.js ---*/

    这个 也没啥 可解释的。root 对应着 组件 贴 pages

    /* --- page1.html ---*/
     
    <ion-navbar *navbar>
      <ion-title>Tab 1</ion-title>
    </ion-navbar>
     
    <ion-content padding class="page1">
      <h2>Welcome to Ionic!</h2>
      <p>
        This starter project comes with simple tabs-based layout for apps
        that are going to primarily use a Tabbed UI.
      </p>
      <p>
        Take a look at the <code>app/</code> directory to add or change tabs,
        update any existing page or create new pages.
      </p>
    </ion-content>
     
    /* --- page1.html ---*/
    /* --- page1.js ---*/
     
    import {Page} from 'ionic-angular';
     
     
    @Page({
      templateUrl: 'build/pages/page1/page1.html'
    })
    export class Page1 {
      constructor() {
     
      }
    }
     
    /* --- page1.js ---*/
    /* --- page2.html ---*/
     
    <ion-navbar *navbar>
      <ion-title>
        Tab 2
      </ion-title>
    </ion-navbar>
     
    <ion-content class="page2">
      2222222222222222222222222222
    </ion-content>
     
    /* --- page2.html ---*/
    /* --- page2.js ---*/
     
    import {Page} from 'ionic-angular';
     
    @Page({
      templateUrl: 'build/pages/page2/page2.html'
    })
    export class Page2 {
      constructor() {
     
      }
    }
     
    /* --- page2.js ---*/

    上边的两个代码 没有什么新鲜的。。接下来看 我加入的 childs

    /* --- one.html ---*/
     
    <h1>我是嵌套页面。!!one </h1>
     
    /* --- one.html ---*/
    /* --- one.js ---*/
     
    import {Page} from 'ionic-angular';
     
    @Page({
        templateUrl: 'build/pages/childs/one.html'
    })
    export class One {
        constructor() {
     
        }
    }
     
    /* --- one.js ---*/

    也没啥特别的嘛。无非就是写了个页面。接下来看page3做的事情。

    /* --- page3.html ---*/
     
    <ion-navbar *navbar>
      <ion-title>
        Tab 3
      </ion-title>
    </ion-navbar>
     
    <ion-content class="page3">
      333333333333333333333
      <ion-nav [root]="rootPage"></ion-nav>
    </ion-content>
     
    /* --- page3.html ---*/
    /* --- page3.js ---*/
     
    import {Page} from 'ionic-angular';
    import { One } from '../childs/one.js';
     
    @Page({
      templateUrl: 'build/pages/page3/page3.html'
    })
    export class Page3 {
      constructor() {
        this.rootPage = One;
      }
    }
     
    /* --- page3.js ---*/
    我在page3中 加了一个<ion-nav [root]="rootPage"></ion-nav> 然后 然后在js中添加了一个 组件One 那这个时候 就嵌套成功了。。
    还记的angular2 中的 @RoterConfig 么 父级要设置一个 @RoterConfig 子集也要设置一个。
    但是 ionic2 直接 把组件放进去 就OK了。。
  • 相关阅读:
    【Statistics】均值
    【Datastage】在win10安装Datastge 8.7
    【Linux】行首、行尾添加字符串
    【Linux】替换文本中的字符
    【Pyhton 数据分析】通过gensim进行文本相似度分析
    【Python 数据分析】jieba文本挖掘
    异或运算法则
    关于计算机中的《补码》,公式:-n=~n+1 引伸:~n=-n-1
    Base64编码解码
    位运算之——按位与(&)操作——(快速取模算法)
  • 原文地址:https://www.cnblogs.com/dandingjun/p/5562429.html
Copyright © 2020-2023  润新知