Angular11 - NG0303: 无法绑定到'ngForOf',因为它不是'tr'的已知属性。
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 { }
在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指令绑定数据了。