我是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),
],
有什么想法吗?
答案 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绑定的登录路由