我希望每次更改局部变量时都运行ngAfterViewInit()
。我想过使用* ngIf来触发这个功能,但是我不知道如何从组件本身设置它。 HostBinding
不用说,不起作用。
以下简要说明了我想要实现的目标:http://plnkr.co/edit/tflsWzsRDVNeMPjmTokF?p=preview
编辑:我之前的解释有点误导。*ngIf
是必不可少的,因为如果其局部变量为false
,我根本不想显示组件。但是,如果它是true
,我想将此组件中div的宽度和高度传递给service。
答案 0 :(得分:0)
您可以将变量更改为getter / setter并在每次调用setter时调用ngAfterViewInit()
或任何其他方法(并且新值与旧值不同)?
private _show: boolean = false;
get show():Boolean {
return this._show;
}
set show(newVal:Boolean) {
if(newVal != this._show) {
this._show = newVal;
ngAfterViewInit();;
}
}
ngAfterViewInit() {