角度路由与离子路由

时间:2017-05-18 19:00:51

标签: angular ionic2 angular2-routing

我是ionic2的新手。与纯角度路由相比,它的路由有些奇怪。在Angular:

const appRoutes: Routes = [
  { path: 'crisis-center', component: CrisisListComponent },
  { path: 'hero/:id',      component: HeroDetailComponent },
  {
    path: 'heroes',
    component: HeroListComponent,
    data: { title: 'Heroes List' }
  },
  { path: '',
    redirectTo: '/heroes',
    pathMatch: 'full'
  },
  { path: '**', component: PageNotFoundComponent }
];

@NgModule({
imports: [
  RouterModule.forRoot(appRoutes)
  // other imports here
],

我们传递一个Routes类型的常量。

在Ionic(sidemenu启动器)中,他们将组件传递给forRoot函数。

import { MyApp } from './app.component';
imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
],

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

Ionic不支持URL路由,而是实现自定义导航解决方案 - NavController(由suraj链接)。 NavController维护着一堆页面 - 向前移动你将页面推送到堆栈<div id="Circle"> <div id="cont"> <div class="top"> <div class="dome"></div> <div class="fan"> <div class="fan_blade1"></div> <div class="fan_blade2"></div> <div class="fan_blade3"></div> <div class="fan_blade4"></div> </div> <div class="mill"></div> <div class="sky"> <div class="stars"></div> <div class="moon"></div> </div> <div class="floor"> </div> </div> <div class="bottom"> <div class="dome"></div> <div class="fan"> <div class="fan_blade1"></div> <div class="fan_blade2"></div> <div class="fan_blade3"></div> <div class="fan_blade4"></div> </div> <div class="mill"></div> <div class="sky"> <div class="stars"></div> <div class="moon"></div> </div> <div class="floor"> </div> </div> </div> </div>并向后移动你弹出它this.nav.push(Page1);。 通过这种方式,您在浏览器中的URL始终相同,并且应用程序始终在主页上打开 - 这类似于移动应用程序行为。要启用对某个资源的直接访问(就像打开url myapp / items / 1一样),您必须使用deep linking plugin

答案 1 :(得分:1)

在离子模式下,我们从另一个视图推动一个视图屏幕

但是在角度上是预定义的路由映射,如果您转到该路由,即应用程序/登录,您将被重定向到与loginComponent绑定的登录路由