Nativescript angular 导航到上一个组件
Nativescript angular navigate to previous component
我有一个 ns-angular 应用程序,其结构如下:
在 app.component
我有一个大师 page-router-outlet
有 2 页
- 登录
- 主要
路由配置如下:
const routes: Routes = [
{ path: '', redirectTo: 'start', pathMatch: 'full' },
{ path: 'start', loadChildren: './views/login/start.module#StartModule' },
{ path: 'main', loadChildren: './views/main/main.module#MainModule' }
];
@NgModule({
imports: [NativeScriptRouterModule.forRoot(routes)],
exports: [NativeScriptRouterModule]
})
export class AppRoutingModule { }
在主要组件中,我有静态操作栏和一个在这些组件之间导航的子组件 router-outlet
。
路由再次定义为:
const mainRoutes: Routes = [
{
path: '', component: MainComponent, children: [
{ path: '', redirectTo: 'main/explore', pathMatch: 'full' },
{ path: 'camera', loadChildren: './camera/camera.module#CameraModule' },
{ path: 'explore', loadChildren: './explore/explore.module#ExploreModule' }
]
}
];
export const MainRouting: ModuleWithProviders = RouterModule.forChild(mainRoutes);
当前发生的情况是,如果我在 - 比方说 - explore
组件 ( /main/explore
),我导航到相机组件 ( /main/camera
) 然后我按回到我的 android 设备上,我没有返回探索组件,而是转到启动模块。
我阅读了有关 angular 导航的文档,但即使使用以下代码
android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
this.routerExtensions.back();
});
我无法 return 上一个组件。
我将如何实现?
尝试覆盖后退事件的默认 Android 行为
注意 data.cancel
设置为 true
application.android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
data.cancel = true; // prevents default back button behavior
});
我有一个 ns-angular 应用程序,其结构如下:
在 app.component
我有一个大师 page-router-outlet
有 2 页
- 登录
- 主要
路由配置如下:
const routes: Routes = [
{ path: '', redirectTo: 'start', pathMatch: 'full' },
{ path: 'start', loadChildren: './views/login/start.module#StartModule' },
{ path: 'main', loadChildren: './views/main/main.module#MainModule' }
];
@NgModule({
imports: [NativeScriptRouterModule.forRoot(routes)],
exports: [NativeScriptRouterModule]
})
export class AppRoutingModule { }
在主要组件中,我有静态操作栏和一个在这些组件之间导航的子组件 router-outlet
。
路由再次定义为:
const mainRoutes: Routes = [
{
path: '', component: MainComponent, children: [
{ path: '', redirectTo: 'main/explore', pathMatch: 'full' },
{ path: 'camera', loadChildren: './camera/camera.module#CameraModule' },
{ path: 'explore', loadChildren: './explore/explore.module#ExploreModule' }
]
}
];
export const MainRouting: ModuleWithProviders = RouterModule.forChild(mainRoutes);
当前发生的情况是,如果我在 - 比方说 - explore
组件 ( /main/explore
),我导航到相机组件 ( /main/camera
) 然后我按回到我的 android 设备上,我没有返回探索组件,而是转到启动模块。
我阅读了有关 angular 导航的文档,但即使使用以下代码
android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
this.routerExtensions.back();
});
我无法 return 上一个组件。 我将如何实现?
尝试覆盖后退事件的默认 Android 行为
注意 data.cancel
设置为 true
application.android.on(AndroidApplication.activityBackPressedEvent, (data: AndroidActivityBackPressedEventData) => {
data.cancel = true; // prevents default back button behavior
});