使用模型和formgroupdirective时找不到带有路径的控件

黄昏的柴尔德

我的Angular 8应用程序使用了很多嵌套形式,为了尽量减少代码量,我设置了一个模型类来为我的反应形式定义结构。我的html页面上有一组嵌套的组件,应该可以创建一个表单来添加或更新数据。当尝试使用基于模型结构的现有数据填充表单时,我现在收到一条错误消息,例如(错误):错误错误:找不到路径为“ info-> charName”的控件

home.ts中,导入导出的类,并创建父窗体,如下所示:

this.CharGenMagusForm = this.fb.group({
  characterid: [''],
  playerUID: [''],
  covenantID: [''],
  info: this.fb.group(new Info()),
  infoMagus: this.fb.group(new InfoMagus),
  characteristics: this.fb.group(new Characteristics()),
  abilities: this.fb.group(new Abilities()),
  arts: this.fb.group(new Arts()),
  armour: this.fb.group(new Armour()),
  agingWarping: this.fb.group(new AgingWarping()),
  chargen: this.fb.group(new Chargen()),
  playerChar: ['']
})

在我的home.html中,添加(示例)信息组件,如下所示:

<mat-expansion-panel>
        <mat-expansion-panel-header>
          <mat-panel-title><h3>CHARACTER INFO</h3></mat-panel-title>
        </mat-expansion-panel-header>
        <ng-template matExpansionPanelContent>
          <hr />
          <form [formGroup]="CharGenMagusForm">
            <app-info [parent]="CharGenMagusForm" (CloseThisPanel)="onClose($event)"></app-info>
          </form>             
        </ng-template>
      </mat-expansion-panel>

info.ts中,我具有以下内容:

  @Input() parent: FormGroup;
  @Output() CloseThisPanel = new EventEmitter<any>();

  infoData: Observable<Info>;
  fgd: FormGroupDirective;
  info: FormGroup;

constructor(private characterDetailsService: CharacterDetailsService, private fb: FormBuilder, parent: FormGroupDirective) {
    this.fgd = parent;
  }

  ngOnInit() {
    this.info = this.fgd.form;
    this.info.addControl('info', this.fb.group(new Info()));
    this.infoData = this.characterDetailsService.GetCharacterInfo().pipe(
      tap(infoData => this.parent.patchValue({info: infoData}))        <-------I suspect the problem lies here???
    );
  }

info.html中,我有:

<div [formGroup] = "parent">
  <form *ngIf="infoData | async"  formGroupName="info">

<---and all the form control stuff--->

CharacterDetailsS​​ervice使用特定的info.ts函数从Firestore获取所有数据,如下所示:

GetCharacterInfo() {
  return of<Info>(this.characterInfoData);
}

信息模型类:

export class Info {
  public charName: string;
  public type: string;
  public covenant: string;
  public gender: string;
  public size: number;
  public bornYear: number;
  public currentYear: number;
  public charAge: number;
  public height: string;
  public weight: string;
  public hair: string;
  public eyes: string;
  public charPic: string;
  public charPicDataUrl: string;
}

我会为我要去哪里出错提供帮助。

尼古拉

您的问题是与此行:

info: this.fb.group(new Info())

在运行时,它等于:

info: this.fb.group({})

因此,您基本上可以添加一个没有嵌套控件的组(charName不存在)。这是因为您的类未提供属性的默认值,您可以通过将类更改为这样来修复该问题

export class Info {
  public charName: string = '';
  public type: string  = '';
  public covenant: string  = '';
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在递归角度形式上使用ngIf无法找到带有路径的控件

来自分类Dev

RC.5带有路由的延迟加载模块时抛出“找不到'默认'

来自分类Dev

Jest/Babel 找不到没有路径前缀的模块

来自分类Dev

使用 swift 和 alamofire 的带有路径点的 url 谷歌地图方向 api 无效

来自分类Dev

具有路径重构的Floyd–Warshall算法找不到路径

来自分类Dev

具有路径重构的Floyd–Warshall算法找不到路径

来自分类Dev

使用带有路径前缀的cherrypy公开函数

来自分类Dev

使用InvokeMethod创建时找不到路径

来自分类Dev

Travis CI和带有Gradle的JUnit找不到类路径资源

来自分类Dev

Mongo在使用带有反斜杠和&字符的正则表达式时找不到文档

来自分类Dev

当您有路径和文件名时,在中继器控件中显示图像

来自分类Dev

我找不到带有两个ID的模型

来自分类Dev

Django 1.7找不到带有makemigrations的新模型

来自分类Dev

删除带有ajax和rails的表记录时出现404找不到错误

来自分类Dev

yii2 搜索模型有时找不到

来自分类Dev

找不到带有beautifulsoup和请求的现有元素

来自分类Dev

在火花中使用带有toCharArray的flatMap时找不到Encode [Char]

来自分类Dev

绑定没有路径时更新

来自分类Dev

带有路径和 SVG 的 d3 动画折线图

来自分类Dev

Powershell表示使用get-filehash时找不到路径

来自分类Dev

TypeScript:错误:使用路径时找不到模块

来自分类Dev

A *路径查找算法有时即使在存在路径的情况下也找不到路径(Python)

来自分类Dev

使用PyInstaller打包时找不到SpaCy模型

来自分类Dev

将tiff(带有路径)转换为png并删除背景(透明)-使用PHP中的Imagemagick

来自分类Dev

将tiff(带有路径)转换为png并删除背景(透明)-在PHP中使用Imagemagick

来自分类Dev

在rspec测试中找不到现有路由的路由

来自分类Dev

烧瓶:带有路径的render_template

来自分类Dev

Bash +检查文件是否存在并带有路径〜

来自分类Dev

返回带有路径JSON的商品说明

Related 相关文章

  1. 1

    在递归角度形式上使用ngIf无法找到带有路径的控件

  2. 2

    RC.5带有路由的延迟加载模块时抛出“找不到'默认'

  3. 3

    Jest/Babel 找不到没有路径前缀的模块

  4. 4

    使用 swift 和 alamofire 的带有路径点的 url 谷歌地图方向 api 无效

  5. 5

    具有路径重构的Floyd–Warshall算法找不到路径

  6. 6

    具有路径重构的Floyd–Warshall算法找不到路径

  7. 7

    使用带有路径前缀的cherrypy公开函数

  8. 8

    使用InvokeMethod创建时找不到路径

  9. 9

    Travis CI和带有Gradle的JUnit找不到类路径资源

  10. 10

    Mongo在使用带有反斜杠和&字符的正则表达式时找不到文档

  11. 11

    当您有路径和文件名时,在中继器控件中显示图像

  12. 12

    我找不到带有两个ID的模型

  13. 13

    Django 1.7找不到带有makemigrations的新模型

  14. 14

    删除带有ajax和rails的表记录时出现404找不到错误

  15. 15

    yii2 搜索模型有时找不到

  16. 16

    找不到带有beautifulsoup和请求的现有元素

  17. 17

    在火花中使用带有toCharArray的flatMap时找不到Encode [Char]

  18. 18

    绑定没有路径时更新

  19. 19

    带有路径和 SVG 的 d3 动画折线图

  20. 20

    Powershell表示使用get-filehash时找不到路径

  21. 21

    TypeScript:错误:使用路径时找不到模块

  22. 22

    A *路径查找算法有时即使在存在路径的情况下也找不到路径(Python)

  23. 23

    使用PyInstaller打包时找不到SpaCy模型

  24. 24

    将tiff(带有路径)转换为png并删除背景(透明)-使用PHP中的Imagemagick

  25. 25

    将tiff(带有路径)转换为png并删除背景(透明)-在PHP中使用Imagemagick

  26. 26

    在rspec测试中找不到现有路由的路由

  27. 27

    烧瓶:带有路径的render_template

  28. 28

    Bash +检查文件是否存在并带有路径〜

  29. 29

    返回带有路径JSON的商品说明

热门标签

归档