Angular 角度2-如何在ngOnChange中修改输入B(通过更改输入A触发)
我有一个带有输入和变量的组件:Angular 角度2-如何在ngOnChange中修改输入B(通过更改输入A触发),angular,triggers,onchange,observable,angular2-docheck,Angular,Triggers,Onchange,Observable,Angular2 Docheck,我有一个带有输入和变量的组件: @Input() data: string[]; @Input() val: string = ''; ngOnChanges(changes: SimpleChanges) { for (let propName in changes) { if (propName == 'data') { this.val = 'hello'; } } } 问题是,当数据更改时,我需要更改输入val。但我
@Input() data: string[];
@Input() val: string = '';
ngOnChanges(changes: SimpleChanges) {
for (let propName in changes) {
if (propName == 'data') {
this.val = 'hello';
}
}
}
问题是,当数据更改时,我需要更改输入val。但我有以下错误:
Expression has changed after it was checked. Previous value: 'false'. Current value: 'true'.
谢谢 创建setter更容易
\u数据:字符串[];
@Input()设置数据(val:string[]{
这是._data=val;
this.val='abc'
//this.cdRef.detectChanges();
}
get data(){返回此。\u data;}
@Input()val:string='';
如果仍然出现错误,请添加
构造函数(私有cdRef:ChangeDetectorRef){}
并在上面setter中注释掉的行中进行注释。谢谢,但我使用了这个.cdRef.detectChanges(),但仍然存在此错误。您将什么值从
false
更改为true
。