输入属性未绑定到属性选择器

时间:2016-02-02 12:37:00

标签: angular

美好的一天,

我有以下Angular2组件:

import {Component, Input} from 'angular2/core';
import {NameValue} from '../models/namevalue';
import {CrmService} from '../services/crmservice';

@Component({
    selector: '[crmlookup]',
    templateUrl: '/app/directives/rendernamevalue.html'
})

export class CrmLookupComponent {
    @Input() fieldname: string;
    public values;

    constructor(public _crmService: CrmService) {
    }

    ngOnInit() {
        this._crmService.get(this.fieldname).subscribe(res => this.values = res);
    }
}

我的HTML如下所示:

<select crmlookup [fieldname]="new_department"></select>

它绑定正常,但是fieldname内部输入字段永远不会使用我在标记中指定的字符串值进行初始化。

请注意,new_department必须是字符串值,它不是父组件中的属性。我也尝试将其指定为[fieldname] =“'new_department'”,这也不起作用。该值在构造函数以及ngOnInit事件中未定义。

1 个答案:

答案 0 :(得分:2)

如果要为fieldname输入提供字符串文字值,可以试试这个:

<select crmlookup [fieldname]="'new_department'"></select>

<select crmlookup fieldname="new_department"></select>

使用[fieldname]将根据与模板关联的组件元素评估表达式。

希望它可以帮到你, 亨利