美好的一天,
我有以下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事件中未定义。
答案 0 :(得分:2)
如果要为fieldname
输入提供字符串文字值,可以试试这个:
<select crmlookup [fieldname]="'new_department'"></select>
或
<select crmlookup fieldname="new_department"></select>
使用[fieldname]
将根据与模板关联的组件元素评估表达式。
希望它可以帮到你, 亨利