簡體   English   中英

Angular 反應 forms,輸入錯誤:沒有名稱的表單控件的值訪問器

[英]Angular reactive forms, input Error: No value accessor for form control with name

我有一個定義如下的輸入

    <form [formGroup]="loginForm"">
      <ion-input [formControlName]="'email'"></ion-input>

我的組件將表單聲明為

this.loginForm = this.formBuilder.group({
  email: ['', Validators.compose([Validators.required, Validators.email])],
  password: ['', Validators.required]
});

然而在運行時 angular 拋出這個錯誤

錯誤錯誤:沒有名稱為“電子郵件”的表單控件的值訪問器

我已確保我的模塊導入中同時包含 ReactiveFormsModule 和 FormsModule

我還缺少什么其他想法嗎?

您尚未導入聲明<ion-input>的模塊

詳細說明

對於 Angular 9+, fullTemplateTypeCheck設置為false ,因此 angular 不會抱怨 請參閱以下來自 github的聲明 Ivy 不會抱怨 ng-template 中的未知元素 #36171

這是由於 Ivy 的架構變化。 在以前的編譯器 (ViewEngine) 中,對未知元素的檢查將在模板解析期間發生。 在 Ivy 中,模板是獨立於相應的 NgModule 進行解析的,因此無法獲得 scope 中有關組件/指令的信息。 相反,元素檢查被推入模板類型檢查階段,並且當前受類型檢查器配置的影響。 但是,將 fullTemplateTypeCheck 設置為 true 時,它應該進入模板以檢查它們(當它為 false 時,出於向后兼容的原因,它不會)

引擎不會抱怨未知元素,但會抱怨 valueAccessor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM