遵循此处记录的内容:Dynamic Component Loader。
我想知道如何处理这个HeroJobAdComponent
类中的数据:
import { Component, Input } from '@angular/core';
import { AdComponent } from './ad.component';
@Component({
template: `
<div class="job-ad">
<h4>{{data.headline}}</h4>
{{data.body}}
</div>
`
})
export class HeroJobAdComponent implements AdComponent {
@Input() data: any;
}
如您所见,data
是保存所接收数据的对象。我希望能够为我的HeroJobAdComponent
类定义构造函数,但如果我这样做,则构造函数中的对象data
为undefined
。我尝试使用ngOnChange
代替,一旦输入从未定义更改为已定义但应该执行,但它根本不执行。
有人可以首先解释为什么对象未定义,即使数据是在我的主要组件中定义的,并且这个问题的解决方法是什么?
这是我正在使用的构造函数:
constructor()
{
this.values = this.data.values;
this.spec_name = this.data.spec_name;
}
答案 0 :(得分:2)
如果要在组件中接收数据时使用任何操作,可以使用setter
contains()