javascript - 以 Angular 4 在路由器导出外加载页面

标签 javascript angular typescript

我正在开发一个 angular 4 应用程序,我想在 router-outlet 之外加载 login.page.ts

这是我的home.component.html文件

<div class="container">
   <top-nav-bar></top-nav-bar>
   <lett-nav-bar></lett-nav-bar>
   <router-outlet></router-outlet>
</div>

路由配置

const MAINMENU_ROUTES: Routes = [
    { path: 'login', component: LoginComponent },
    { path: '', redirectTo: 'home', pathMatch: 'full'},
    { path: 'home', component: HomeComponent, canActivate: [AuthGuard]}
];

有了这个,我可以在路由器内加载登录页面,但我想在进入路由器导出之前全屏加载登录页面。

最佳答案

如果没有路由器 socket ,您将无法路由到页面。根据您的描述,听起来您需要另一个更高级别的路由器 socket ,比如在 App 组件中。像这样:

<div class="container">
   <router-outlet></router-outlet>
</div>

然后您可以将登录页面和主页组件路由到这个路由器导出。

你的路由配置看起来像这样:

    { path: 'login', component: LoginComponent },
    { path: 'home', component: HomeComponent, canActivate: [AuthGuard], 
      children: [
       { path: 'child1', component: Child1Component },
       { path: 'child2', component: Child2Component }
      ]
    }

然后登录和主页路由将出现在 App 组件的路由器导出中,因此登录页面将全屏显示,没有导航栏。 child1 和 child2 路由将出现在 Home Component 的路由器导出中。

关于javascript - 以 Angular 4 在路由器导出外加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44912771/

相关文章:

javascript - devicePixelRatio 是否可以小于 1

javascript - Angular 2,即使使用 useHash 重定向也无法刷新

javascript - 从指令调用时未定义Typescript Angularjs Controller 范围

typescript - 如何从 TypeScript 中的字符串数组创建类型?

javascript - 如何捕获在富文本编辑器 div 中输入的内容 - Quill rich editor

javascript - jQuery 函数仅在调试器模式下工作

javascript - 为什么在访问匿名自执行函数的参数时需要使用 "this"关键字?

javascript - 如何公开公开 Angular 2 方法?

Angular2 模块 : How can i import a service from another module

javascript - 我怎样才能让我的轮播在 Angular 8 中工作