无法绑定到___,因为它不是已知的本机属性

时间:2016-12-30 00:48:15

标签: javascript angular

我正在尝试使用*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>

我做错了什么?

2 个答案:

答案 0 :(得分:1)

请确保您在“App”课程中导入了组件-'ComponentX“

答案 1 :(得分:1)

此错误通常表示:

1-您的组件中不会退出特定的@Input,在您的情况下,它会退出。

2-您忘记在根应用程序模块中声明组件。

import {ComponentX} from 'its/path';

@NgModule({ 
    declarations:[ComponentX]
}) 
export class AppModule { 
}