簡體   English   中英

使用導入模塊中的自定義組件

[英]Use custom component from imported module

我創建了一個名為MultipleIdentifier的組件,使用formControlName以反應形式使用。 它在名為Module1的模塊中使用,並在該模塊的declarations數組中聲明。 它運作良好。

現在,在同一個應用程序中,我想在另一個名為Module2的模塊中使用這個組件。 這個組件被移動到名為Components.module的模塊,這個新模塊被導入到app.module中,因此它可以被Module1Module2這兩個模塊使用。 它是這樣導出的:

@NgModule({
declarations: [
   MultipleIdentifier,
],
imports: [
   ...
],
exports: [
   MultipleIdentifier,
]
})
export class Components {
}

它編譯正常,但現在, Module1Module2都沒有顯示該組件,並且都顯示錯誤: No value accessor for form control with name: multipleIdentifierInput (where multipleIdentifierInput is my MultipleIdentifier` 組件)。 我的組件正在使用這樣的期望提供者:

@Component({
selector: 'multiple-identifier',
templateUrl: './multiple-identifier.component.html',
providers: [
   {
      provide: NG_VALUE_ACCESSOR,
     multi: true,
     useExisting: forwardRef(() => MultipleIdentifier)
   },
]
})
export class MultipleIdentifier implements ControlValueAccessor, Validator {
...
}

我錯過了什么? 似乎該組件已“識別”但不能再用作輸入字段的反應。

剛找到這個文檔: https://angular.io/guide/sharing-ngmodules我不得不將Components模塊導入Module1Module2並導入FormsModule 現在一切正常

暫無
暫無

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

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