我是ionic2的新手。与纯角度路由相比,它的路由有些奇怪。在角度中:
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(侧菜单启动器(中,他们将组件传递给forRoot
函数。
import { MyApp } from './app.component';
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
知道吗?
编辑:
Ionic 4也在背景中使用标准的角度路线。推和弹出不再是离子方式,这里有一个很好的阅读,使用带有离子的角度路由器。
原答案:
Ionic不支持URL路由,而是实现了一个自定义导航解决方案 - NavController(由suraj链接(。NavController 维护一堆页面 - 向前移动,将页面推送到堆栈this.nav.push(Page1);
,向后移动,将其弹出this.navCtrl.pop();
。通过这种方式,您在浏览器中的 url 始终相同,并且应用程序始终在主页上打开 - 这类似于移动应用程序的行为。要启用对某个资源的直接访问(就像打开url myapp/items/1一样(,您必须使用深度链接插件。
在ionic中,我们从另一个视图推送一个视图屏幕
但是在角度中,它是预定义的路由映射,如果您转到此路由,即.app/登录,您将被重定向到与loginComponent绑定的登录路由