Angular11 - NG0303: 无法绑定到'ngForOf',因为它不是'tr'的已知属性。

10 浏览
0 Comments

Angular11 - NG0303: 无法绑定到'ngForOf',因为它不是'tr'的已知属性。

模板TR未显示,并生成错误:NG0303:无法绑定到'ngForOf',因为它不是'tr'的已知属性。

我不明白为什么。

我在Angular 11和Chrome浏览器中。

控制台中的错误:

控制台中的错误

HTML:

作业日志

时区设置为GMT

#作业名称 上次启动 上次完成 时间
{{ item.JobName }} {{ item.LastStartOperation }} {{ item.LastFinishOperation }} {{ item.Time }}

这是组件文件component.ts的内容:

import { Component, OnInit } from '@angular/core';

@Component({

selector: 'app-joblog',

templateUrl: './joblog.component.html',

styleUrls: ['./joblog.component.css']

})

export class JoblogComponent implements OnInit {

jobs = [

{

JobName:'Client_Timer',

LastFinishOperation:'2021-12-01',

LastStartOperation:'2021-12-01',

Time:'0 years 0 mons 0 days 0 hours 0 mins 0.00 secs'

},

{

JobName:'Truc_Astuce',

LastFinishOperation:'2021-12-01',

LastStartOperation:'2021-12-01',

Time:'0 years 0 mons 0 days 0 hours 0 mins 0.00 secs'

}

];

constructor() { }

ngOnInit(): void {

}

}

这是App.module.ts文件的内容:

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

import { BrowserModule } from '@angular/platform-browser';

import { FormsModule } from "@angular/forms";

import { AppRoutingModule } from './app-routing.module';

import { AppComponent } from './app.component';

import{ HttpClientModule } from "@angular/common/http";

import { RouterModule, Routes } from '@angular/router';

import { JoblogComponent } from './joblog/joblog.component';

import { DashboardComponent } from './dashboard/dashboard.component';

import { AuthComponent } from './auth/auth.component';

import { from } from 'rxjs';

const isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;

const appRoutes: Routes = [

{path:'dashboard', component: DashboardComponent},

{path:'auth', component: AuthComponent},

{path:'joblogs', component: JoblogComponent},

{path: '', component: DashboardComponent}

];

@NgModule({

declarations: [

AppComponent,

DashboardComponent,

AuthComponent

],

imports: [

BrowserModule,

FormsModule,

AppRoutingModule,

HttpClientModule,

RouterModule.forRoot(appRoutes)

],

providers: [],

bootstrap: [AppComponent]

})

export class AppModule { }

0
0 Comments

在Angular应用中使用ngForOf指令绑定数据时,可能会遇到"NG0303: Can't bind to 'ngForOf' since it isn't a known property of 'tr'"的错误。这个错误的出现通常是由于未将组件添加到声明数组中所导致的。

解决这个问题的方法是将组件添加到declarations数组中。在Angular应用的根模块(通常是app.module.ts)中,可以找到一个declarations数组,其中包含了应用中所有的组件。在这个数组中添加相关的组件即可解决此问题。

下面是一个示例代码,展示了如何添加组件到declarations数组中:

@NgModule({
  declarations: [
    AppComponent,
    DashboardComponent,
    AuthComponent,
    JoblogComponent
  ],
  // other module configuration
})
export class AppModule { }

在这个示例中,我们将AppComponent、DashboardComponent、AuthComponent和JoblogComponent添加到了declarations数组中。这样,这些组件就可以在应用中正常使用ngForOf指令绑定数据了。

需要注意的是,如果你使用的是共享模块(shared module),你可能需要将组件添加到共享模块的exports数组中,然后在其他模块中导入共享模块。这样可以确保这些组件在整个应用中都能被访问到。

总结起来,要解决"NG0303: Can't bind to 'ngForOf' since it isn't a known property of 'tr'"错误,只需要将相关组件添加到declarations数组中即可。这样,这些组件就能正常使用ngForOf指令绑定数据了。

0