第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular 8 viewChild 返回未定義

Angular 8 viewChild 返回未定義

函數(shù)式編程 2021-06-09 17:49:40
我正在嘗試訪問 childView 實例,但它一直說 childView 未定義。這是我的 childViews 代碼:@ViewChild(CreateQuestionnaireComponent,{ read: true, static: false })  private childQuestionnaireDialog:CreateQuestionnaireComponent;@ViewChild(ProjectNavbarComponent,{ read: true, static: false })  private childProjectNavBar:ProjectNavbarComponent;@ViewChild(QuestionnaireNodeComponent,{ read: true, static: false }) private childQuestionnaireNode:QuestionnaireNodeComponent;....onCreateTerminal() {        this.childQuestionnaireDialog.generateQuestionnaireDropDownList();        this.childQuestionnaireDialog.resetFields();        this._hideQuestionnaireDialog = false;        this._modalTitle = 'New Terminal';        this._placeHolderText = 'Terminal Questionnaire Title';        this._terminal = true;    }...它說:this.childQuestionnaireDialog 是未定義的”。它正在使用 Angular 7。根據(jù)我的新知識,@viewChild 采用一個名為 static 的標志。如果我們將該標志設置為 true,則父組件會在其自己的創(chuàng)建過程中嘗試獲取對 childView 的引用。換句話說,我們可以在父組件的 onInit() 方法中有一個 childView 的實例?;旧鲜且淮卧L問,因為我們將無法在任何其他方法中訪問。設置為false的標志,基本上是ivy渲染器中的新方式。就我而言,這兩個選項都不起作用。
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

我有一個類似的問題,其中 ViewChild 組件在 onInit() 方法中未定義。


// Ensure Change Detection runs before accessing the instance

@ContentChild('foo', { static: false }) foo!: ElementRef;


// If you need to access it in ngOnInit hook

@ViewChild(TemplateRef, { static: true }) foo!: TemplateRef;


查看完整回答
反對 回復 2021-06-18
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

就我而言,我讓我的孩子處于 *ngIf 狀態(tài)。因此 ViewChild 無法初始化所需的元素。更新了在 *ngIf 之外渲染組件的邏輯,因此 ViewChild 能夠成功初始化元素。

因此,如果可能,當需要 ViewChild 時,更改邏輯以在 *ngIf 之外呈現(xiàn)組件并顯示適當?shù)南?。或者使?CSS 隱藏元素的可見性,而不是使用 *ngIf。


查看完整回答
反對 回復 2021-06-18
  • 3 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號