Angular Ionic @ViewChild 丢失引用
Angular Ionic @ViewChild looses reference
问题很简单
我有这样的参考资料
@ViewChild('myElement') myElementVar : SomeClass;
我引用的元素看起来像这样
<element #myElement *ngIf="someBoolean"></element>
当 someBoolean
变为假时,myElementVar
变为未定义,我知道 是因为 *ngIf
完全从 DOM 然后它丢失了引用,因为它不再存在了。
我想知道的是是否可以将
myElementVar
重新分配给#myElement
someBoolean
再次成立。
通过使用 ChangeDetectorRef。
在以下示例中:您单击并激活切换功能,然后该功能删除第一行及其引用:
<h1 #myElement *ngIf="someBool">Hello World.</h1>
那么,
当您再次切换时,您会重新分配您引用的元素。
Link: https://stackblitz.com/edit/angular-roh6g8?file=src%2Fapp%2Fapp.component.ts
请注意 如果您仍然确保有条件检查您的引用是否存在并且 Angular 将不使用 ChangeDetectorRef 也可以这样做自动(内部)为您处理。
问题很简单
我有这样的参考资料
@ViewChild('myElement') myElementVar : SomeClass;
我引用的元素看起来像这样
<element #myElement *ngIf="someBoolean"></element>
当 someBoolean
变为假时,myElementVar
变为未定义,我知道 是因为 *ngIf
完全从 DOM 然后它丢失了引用,因为它不再存在了。
我想知道的是是否可以将myElementVar
重新分配给#myElement
someBoolean
再次成立。
通过使用 ChangeDetectorRef。
在以下示例中:您单击并激活切换功能,然后该功能删除第一行及其引用:
<h1 #myElement *ngIf="someBool">Hello World.</h1>
那么, 当您再次切换时,您会重新分配您引用的元素。
Link: https://stackblitz.com/edit/angular-roh6g8?file=src%2Fapp%2Fapp.component.ts
请注意 如果您仍然确保有条件检查您的引用是否存在并且 Angular 将不使用 ChangeDetectorRef 也可以这样做自动(内部)为您处理。