【问题标题】:ngmodule is not a subtype ngmoduletypengmodule 不是子类型 ngmoduletype
【发布时间】:2020-08-20 04:53:14
【问题描述】:

我使用 angular 9,我想做延迟加载,我做 app-routing

{
    path: '', loadChildren: () => import("./components/login/login.module")//.then(m =>
     // m.LoginModule)
  }

在我创建登录模块之后:

@NgModule({
    declarations: [LoginComponent],
    imports: [
        CommonModule,
        FormsModule,
        LoginModuleRouting

    ],
    providers:[]
})
export class LoginModule { }

和路由:

const routes: Routes = [
  {
    path: '', component: LoginComponent,

  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})


export class LoginModuleRouting { }

问题是当我调用ng serve 并继续使用`http://localhost:4200/ 时,我得到了这个异常:

core.js:6237

 ERROR Error: Uncaught (in promise): Error: ASSERTION ERROR: NgModule '[object Module]' is not a subtype of 'NgModuleType'. [Expected=> null != null <=Actual]
Error: ASSERTION ERROR: NgModule '[object Module]' is not a subtype of 'NgModuleType'. [Expected=> null != null <=Actual]

我不知道这是什么意思。谁能帮帮我?

【问题讨论】:

  • 您似乎将延迟加载路由配置的重要部分注释掉了。为什么?
  • 你的主模块imports: [RouterModule.forRoot(routes)], 定义了吗?
  • 你能展示你的 app.module 和 main.ts 吗?
  • @poopp,你知道如何解决这个问题

标签: angular angular-routing angular9 angular-module


【解决方案1】:

我也有这个问题。

我的问题是我声明了没有@的 NgModule。添加它修复了消息。

【讨论】:

    【解决方案2】:

    我知道最初的原因是因为承诺解决方案被注释掉了,但我想添加另一个原因,因为这是 Google 上针对此错误的最高命中率,并且有多种原因。

    如果您尝试将组件用作模块,也可能会导致这种情况。使用 component: MyComponentName 而不是 loadChildren: () =&gt; import('./my-component.component').then( m =&gt; m.MyComponent) 也可以解决此问题。如果您打算将其作为一个模块,则可以使用ng generate module 创建一个模块,而不是将路由委托给另一个模块。

    【讨论】:

      【解决方案3】:

      我不知道为什么,但您在 loadChildren() 上注释掉了您的登录模块:

      {
      path: '', 
      loadChildren: () => import("./components/login/login.module")//.then(m =>
           // m.LoginModule)
      }
      
      

      它应该是:

      {
      path: '', 
      loadChildren: () => import("./components/login/login.module").then(m => m.LoginModule)
      }
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-10
        • 2022-11-26
        • 1970-01-01
        • 2020-06-26
        • 1970-01-01
        • 2021-04-16
        • 2021-10-16
        • 2021-09-18
        相关资源
        最近更新 更多