问题很简单
我有这样的参考
@ViewChild('myElement') myElementVar : SomeClass;
我要引用的元素看起来像这样
<element #myElement *ngIf="someBoolean"></element>
当someBoolean
为假,myElementVar
为未定义时,我知道是因为*ngIf
从DOM中完全删除了元素,然后失去了参考,因为它已经不存在了。
我想知道的是,当myElementVar
变为true时是否可以将
#myElement
重新分配给someBoolean
再次。
答案 0 :(得分:1)
通过使用ChangeDetectorRef。
在以下示例中:单击并激活切换功能,然后该功能将其引用删除第一行:
adobe phonegap
然后, 再次切换时,您将重新分配引用的元素。
链接:Here
请注意,如果您仍然可以确定是否有条件检查引用是否存在,并且Angular会自动(内部)为您处理引用,则也可以在没有ChangeDetectorRef的情况下执行此操作。