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了。。

时间: 2024-10-12 19:12:11

3、嵌套路由的相关文章

AngularJS ui-router (嵌套路由)

介绍 AngularJS 嵌套路由:这是我针对同一个主题(ui-router)的第二篇文章. 如果你对第一篇文章感兴趣的话,可以访问 这里. 好了,让我们继续吧,来看看嵌套的ui-router状态是怎么回事. ui-router和同属AngularJS框架一部分的ng-route一样强大. ui-router提供了让我们可以做路由嵌套和视图命名的特性. 我们将在示例中看到ui-router中存在的所有类型. 背景 引述我之前那篇文章开头给出的使用ui-router框架实现的简单路由, 基于我们的

vue嵌套路由

在实际项目中我们会碰到多层嵌套的组件组合而成,但是我们如何实现嵌套路由呢?因此我们需要在 VueRouter 的参数中使用 children 配置,这样就可以很好的实现路由嵌套. index.html,只有一个路由出口 1 <div id="app"> 2 <!-- router-view 路由出口, 路由匹配到的组件将渲染在这里 --> 3 <router-view></router-view> 4 </div> main.

AngularJS ui-router (嵌套路由)的简单学习

今天让我们一起来学习一下AngularJS里的嵌套路由.  ui-router和同属AngularJS框架一部分的ng-route一样强大. ui-router提供了让我们可以做路由嵌套和视图命名的特性,嵌套路由功能主要是依赖$stateProvider服务,$urlRouterProvider服务与 ui-view实现.. 首先我们先使用AngularJS框架来创建简单的html和JavaScript页面. 我们需要创建的文件有一下这些:  1.先创建主体页面    main.html 2.嵌

浅入浅出 react-router v4 实现嵌套路由

一.问题由来 最近准备上手react,下载了一个react+antd做的后台管理demo玩耍了一下,发现使用的react-router v3,在v4已经发布这么久的前提下继续玩耍v3是如何也说不过去的,然后就顺带升级了一下,其中踩的一些坑总结一下给各位分享. 二.v3到v4主要有哪些变化? 1.万物皆组件,所以v4只是一堆提供了导航功能的组件(还有若干对象和方法):   react-router  React Router 核心   react-router-dom  web使用的版本(本文讨论

vue 嵌套路由,router-link-active的问题

最近开发的过程中,遇到一个嵌套路由的问题,需求是这这样的, 首页三个路由   a    b    c 路由写法是 export default new Router({ routes: [ // { // path: '/', // component: '' // }, // { // path: '/history-grade', // component: '' // }, { path: '/source-setting', component: setting, children: [

使用ui-route实现多层嵌套路由

一.预期实现效果: https://liyuan-meng.github.io/uiRouter-app/index.html (项目地址:https://github.com/liyuan-meng/uiRouter-app) 二.分析题目要求,给出依赖关系,构建项目 1. service: (1)根据条件查询people数据checkPeople.service,不给出条件则查询所有. (2)得到路由信息getStateParams.service. 2. components: (1)he

React Router 4.0 ---- 嵌套路由和动态路由

嵌套路由,从广义上来说,分为两种情况:一种是每个路由到的组件都有共有的内容,这时把共有的内容抽离成一个组件,变化的内容也是一个组件,两种组件组合嵌套,形成一个新的组件.另一种是子路由,路由到的组件内部还有路由. 对于共有的内容,典型的代表就是网页的侧边栏,假设侧边栏在左边,我们点击其中的按钮时,右侧的内容会变化,但不管右侧的内容怎么变化,左侧的侧边栏始终存在.这个侧边栏就是共有内容,如下图所示 这个共有内容要怎么处理? 首先想到的就是把这个功能提取出来,写成一个组件,然后再把这个组件依次应用到其

嵌套路由

嵌套路由和嵌套组件之间的匹配是个很常见的需求,使用 vue-router 可以很简单的完成这点. 假设我们有如下一个应用: <div id="app"> <router-view></router-view> </div> <router-view> 是一个顶级的外链.它会渲染一个和顶级路由匹配的组件: router.map({ '/foo': { // 路由匹配到/foo时,会渲染一个Foo组件 component: Foo

vue基础——嵌套路由

嵌套路由是非常常用的,一开始没仔细看过文档的时候踩过小坑,一是子路由的path里,不要加/了,直接写子路由的部分,路由的前半部分是直接从父路由中继承到了,二是对<router-view></router-view>组件渲染位置的理解 参考文档:https://router.vuejs.org/zh/guide/essentials/nested-routes.html 原文地址:https://www.cnblogs.com/chaoyueqi/p/10244503.html