Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.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_Angular - Fatal编程技术网

Javascript 为外部模块添加路由前缀';什么路线?

Javascript 为外部模块添加路由前缀';什么路线?,javascript,angular,Javascript,Angular,在我的app.module.ts文件中,我(急切地)导入了LoginModule,它有自己的路由模块(login routing.module.ts——假设我无法更改它) 我还导入了另一个路由模块(AppRoutingModule——它处理所有惰性模块) app.module.ts: 登录路由.module.ts文件有自己的路由: login-routing.module.ts: 而批准模块具有: const routes: Routes = [ /* { path :

在我的
app.module.ts
文件中,我(急切地)导入了
LoginModule
,它有自己的路由模块(
login routing.module.ts
——假设我无法更改它)

我还导入了另一个路由模块(
AppRoutingModule
——它处理所有惰性模块)

app.module.ts:

登录路由.module.ts
文件有自己的路由:

login-routing.module.ts:

批准模块
具有:

const routes: Routes = [
    /* {    path      : "",    redirectTo: "/welcome",    pathMatch : "full"},*/
    {
        path    : 'app',
        children: [
            {
                path        : "home",
                loadChildren: "~/modules/home/home.module#HomeModule"
            },
            {
                path        : "payments",
                loadChildren: "~/modules/payments/payments.module#PaymentsModule"
            }
        ]
    }
 ...
请注意,我使用了前缀为
app
的无组件路由来组织路由

那么问题出在哪里呢?

我想将登录路由添加到“应用路由”,以便访问登录路由:
app/login/…

换句话说-现在-
批准模块应该是:

  path    : 'app',
            children: [
                {
                    path        : "home",
                    loadChildren: "~/modules/home/home.module#HomeModule"
                },
                {
                    path        : "payments",
                    loadChildren: "~/modules/payments/payments.module#PaymentsModule"
                },
                {
                    path        : "login",
                     //but how o I load all `login-routing.module.ts` routes here ?

                },

            ]
但是
LoginModule
应该是即时加载的,而不是延迟加载的,所以我不能使用
loadChildern

问题:

简言之,我如何访问登录模块路由:

app/login/loginPassword

而不是

/loginPassword

你添加了什么 RouterModule.forRoot([
{path:'',重定向到:'login',pathMatch:'full'}类似于app.module中的这种方式

如果这样做的真正原因是让LoginModule急切地加载,您还可以使用router@PierreDuc哦,那么你的意思是像添加懒惰一样添加它(
loadChildren
),只需添加
预加载策略
提示?确切地说,要我发布一个示例吗?@PierreDuc不,谢谢。我知道了。顺便说一句,我看到了这个
答案
-但他只加载了数组路由,而没有加载路由模块。我的应用程序中没有使用普通路由数组。我到处都使用路由模块。别难过,这会好的我不会帮你的。问题不在于初始重定向。但是从现在起,整个登录路径都应该加前缀。另外-这应该是一个注释
const routes: Routes = [
    /* {    path      : "",    redirectTo: "/welcome",    pathMatch : "full"},*/
    {
        path    : 'app',
        children: [
            {
                path        : "home",
                loadChildren: "~/modules/home/home.module#HomeModule"
            },
            {
                path        : "payments",
                loadChildren: "~/modules/payments/payments.module#PaymentsModule"
            }
        ]
    }
 ...
  path    : 'app',
            children: [
                {
                    path        : "home",
                    loadChildren: "~/modules/home/home.module#HomeModule"
                },
                {
                    path        : "payments",
                    loadChildren: "~/modules/payments/payments.module#PaymentsModule"
                },
                {
                    path        : "login",
                     //but how o I load all `login-routing.module.ts` routes here ?

                },

            ]