Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为多模块应用程序创建路由_Javascript_Jquery_Angular_Angular Routing_Angular Module - Fatal编程技术网

Javascript 为多模块应用程序创建路由

Javascript 为多模块应用程序创建路由,javascript,jquery,angular,angular-routing,angular-module,Javascript,Jquery,Angular,Angular Routing,Angular Module,我是个新手。我在angular应用程序中有一个多模块结构,例如登录、用户、报告等。每个模块都有一个或两个组件。我想实现路由,但登录页面应该首先显示。当用户处于登录窗口时,不应显示导航。当用户登录时,它会重定向到仪表板。在仪表板上,当用户单击导航栏下方显示的任何菜单时,应显示导航栏 目前,当我点击菜单时,它会重定向到该组件&隐藏导航栏 //app.routing.module.ts 常数路由:路由=[ {路径:'',组件:LoginComponent}, {路径:'dashboard',组件:D

我是个新手。我在angular应用程序中有一个多模块结构,例如登录、用户、报告等。每个模块都有一个或两个组件。我想实现路由,但登录页面应该首先显示。当用户处于登录窗口时,不应显示导航。当用户登录时,它会重定向到仪表板。在仪表板上,当用户单击导航栏下方显示的任何菜单时,应显示导航栏

目前,当我点击菜单时,它会重定向到该组件&隐藏导航栏

//app.routing.module.ts
常数路由:路由=[
{路径:'',组件:LoginComponent},
{路径:'dashboard',组件:DashboardComponent},
{path:'user',component:AddUserComponent},
{路径:'trello',组件:TrelloDataComponent},
{路径:'日历',组件:日历组件},
{路径:'clockify',组件:ClockifyDataComponent},
{路径:'rescueAll',组件:AllDataComponent},
{路径:'rescueDate',组件:AllDataComponent},
{路径:'**',组件:PageNotFoundComponent}
];
//app.module.ts
进口:[
浏览器模块,
批准模块,
HttpClientModule,
卡莫杜尔,
Clokify模块,
LoginModule,
救援模块,
Trellow模块,
用户模块,
PagenotfoundModule
]
//app.component.html

正如评论中所指出的,在app.component.html中提取您的导航栏,使其成为

路由器出口标签将根据您当前的URL被替换,因此,如果您想让您的导航栏始终可见,您可以

  • 将它包含在每个组件中—这不是个好主意,因为它是代码的重复和大量不必要的渲染
  • 在-->良好实践之外提取它
  • 如果您仍然想隐藏它,例如在登录屏幕上,您可以使用navbar组件,通过查看当前活动的url来隐藏它,如下所示:

      constructor(private activatedRoute: ActivatedRoute) {
      }
    
      ngOnInit() {
        this.activatedRoute
          .params
          .subscribe(
            params => {
              console.log("current url parameters:", params);
            }
          );
      }
    

    根据当前url,您可以隐藏或显示(例如,使用
    *ngIf
    导航栏。

    浏览链接并查看惰性加载导航栏模板定义在哪里?如果在没有导航栏模板的html文件的路由器出口中呈现菜单组件,则在导航到这些组件时将不会呈现。所有数据添加用户Clokify Data Trello数据日历这是导航栏模板