当前位置: 首页 > 工具软件 > AttC > 使用案例 >

angular报错问题: Can‘t bind to ‘ngIf‘ since it isn‘t a known property of ‘div‘.

蒋栋
2023-12-01

angular报错: Can’t bind to ‘ngIf’ since it isn’t a known property of ‘div’.

component 生成的内容可以直接显示。但是 增加 *ngIf 就会报错。

<p>paper-detail works!</p>

有网友说是没有引入 CommonModule 模块
imports: [ CommonModule ]

我这里的确是引入了 CommonModule 模块的,不是这个问题导致的。

原因: module 的 declarations 数组里未引入 PageListComponent 组件。

$ ng generate component test/pages/page-list   
$ ng generate component test/pages/page-detail  
$ ng generate module test/pages --module app --flat --routing

今天是新建模块先创建了component,后创建了module,导致 component 未加载在 module 中。
即在 PapersModule 里 declarations: [] 没有引入组件。

如果先执行 ng generate module ,后再模块中新增组件,cli 会自动将生产的组件放到 declarations 数组中。

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { PageRoutingModule } from './pages-routing.module';
import { PageListComponent } from './pages/page-list/page-list.component';
import { PageDetailComponent } from './pages/page-detail/page-detail.component';

@NgModule({
  declarations: [
    PageListComponent,   // <-------- 这里需要引入组件
    PageDetailComponent, // <-------- 这里需要引入组件
  ],
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    PageRoutingModule,
  ]
})
export class PapersModule { }

类似问题:Can’t bind to ‘formGroup’ since it isn’t a known property of ‘form’

问题原因:未在 NgModule 模块的 imports 数组配置中引入 ReactiveFormsModule 。

重启 angular 应用:

$ ^C       <---- 使用 Ctrl + c 退出
$ ng serve <---- 重新启动

[END]

 类似资料: