Angular2如何绑定到自定义组件输入参数

时间:2016-09-01 13:43:43

标签: angular angular2-template angular2-directives

我有一个用于显示电话号码的自定义组件(stm-phone-number)。它有一个名为@Input()的{​​{1}}参数。当我尝试在phoneNumber中将数据绑定到它时,我收到以下错误消息:

  

无法绑定到' phoneNumber'因为它不是'stm-phone-number'的已知属性。

这是我的代码:

*ngFor

以及我如何使用它:

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

import { KeyValueModel } from '../../models/types/key-value';

@Component({
    moduleId: module.id,
    selector: 'stm-phone-number',
    templateUrl: './phone-number.component.html',
    styleUrls: [ './phone-number.css' ],
    providers: [],
    directives: []
})
export class PhoneNumberComponent implements OnInit 
{
    @Input() phoneNumber: KeyValueModel<string,string>; 

    constructor ()
    {
    }


    ngOnInit()
    {
    }
}

注意:<section class="grid-block" *ngFor="let entry of PhoneNumberList"> <stm-phone-number [phoneNumber]="entry"></stm-phone-number> </section> PhoneNumberList

的数组

如何将KeyValueModel<string,string>内的迭代值绑定到自定义组件的ngFor属性?

1 个答案:

答案 0 :(得分:2)

您需要将PhoneNumberComponent添加到您正在使用它的模块的directives: [...]列表中,或者导入包含PhoneNumberComponent(&gt; = RC.5)的模块,否则该组件不会被实例化,这通常会导致你提到的错误。