Angular 9 * ngIf не является известным свойством div даже при импортированном CommonModule - PullRequest
0 голосов
/ 05 марта 2020

После обновления до angular 9 мы продолжаем получать эту ошибку, которую мы не можем использовать * ngIf.
Он жалуется только на время выполнения. ошибок сборки нет.
У нас около 10 загруженных ленивых модулей.
Основной модуль имеет импорт для BrowserModule.
Все дочерние модули имеют импорт для CommonModule.
Он работает, если мы запускаем его с нг служить --прод. но просто ng serve отказывается.
Это делает разработку огромной проблемой, поскольку компиляция после каждого изменения занимает намного больше времени.
Ошибка, которую мы получаем, такова: невозможно связать с * ngIf, так как не является известным свойством 'div'.

<div class="m-grid__item m-grid__item--fluid  m-grid__item--order-tablet-and-mobile-1 m-login__wrapper" *ngIf="dataLoaded">

, это то, на что он жалуется. Мы на Angular 9.0.5 со всеми другими нашими библиотеками на последней версии.

Мы лениво загружаем модули по маршрутам.

path: 'login',
loadChildren: () => import('./unauthenticated/auth.module').then(m => m.AuthModule),

пожалуйста, не отмечайте это как продублируйте все, что я пробовал на inte rnet, я могу найти, но ничего не получается.

вот tsconfig incase, его настройка.

{
   "compileOnSave": false,
   "compilerOptions": {
   "outDir": "./dist/out-tsc",
   "sourceMap": true,
   "declaration": false,
   "module": "esnext",
   "moduleResolution": "node",
   "emitDecoratorMetadata": true,
   "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

Импорт модуля приложения

imports: [
    HttpClientModule,
    BrowserModule,
    BrowserAnimationsModule,
    CommonModule,
    OverlayModule,
    AppRoutingModule,
    LayoutModule,
    TranslateModule.forRoot(),
    NotificationModule
],

Это модуль авторизации, который является одним из затронутых модулей.
Текущий сценарий предназначен для AuthComponent.
Проблема возникает на всех модулях.

imports: [
    CommonModule,
    NotificationModule,
    TranslateModule.forChild(),
    RouterModule.forChild([
        {
            path: '',
            component: AuthComponent
        }
    ]),
    SharedModule,
    CoreModule
],
providers: [AuthClient, GlobalClient, NotificationHelperService, DealerClient, UserClient, AuthenticationService, SignalRService],
declarations: [
    AuthComponent,
    LoginComponent,
    ForgotPasswordComponent,
    AuthNoticeComponent,
    EulaComponent,
    ActivateAccountComponent,
    ResetPasswordComponent,
    LoginTwoFactorAuthenticationComponent,
    BaseAuthComponent,
    ChangeEmailComponent,
    DealersNotFoundComponent,
    SystemOfflineComponent,
    DealersSuspendedComponent
]

1 Ответ

0 голосов
/ 05 марта 2020

Ваш основной модуль должен иметь импорт {CommonModule} из '@ angular / common';

...