我正在尝试使用*ngFor
来呈现组件列表:
<componentx
*ngFor="let a of data"
[viewName]="a.name"
[viewQuery]="a.prop2"
[viewValues]="a.prop3"></componentx>
// ...
export class App {
public data:any[];
constructor() { this.data = [{name: 'foo', prop2: 'bar', prop3: 'hello'}]}
}
这是组件本身:
export class ComponentX {
@Input() viewName:string;
@Input() viewQuery:string;
@Input() viewValues:any[];
}
当我运行此代码时,我收到以下错误:
Error: Uncaught (in promise): Template parse errors:
Can't bind to 'viewName' since it isn't a known native property ("
<componentx
*ngFor="let a of data"
[ERROR ->][viewName]="a.name"
[viewQuery]="a.prop2"
[viewValues]="a.prop3"></componentx>
我做错了什么?
答案 0 :(得分:1)
请确保您在“App”课程中导入了组件-'ComponentX“
答案 1 :(得分:1)
此错误通常表示:
1-您的组件中不会退出特定的@Input,在您的情况下,它会退出。
2-您忘记在根应用程序模块中声明组件。
import {ComponentX} from 'its/path';
@NgModule({
declarations:[ComponentX]
})
export class AppModule {
}