formGroup.getRawValue () выдает ошибку в angular - PullRequest
0 голосов
/ 21 июня 2020

При добавлении FormControl в FormGroup внутри моей собственной библиотеки formGroup.getRawValue () выдает ошибку.

import {
  Component,
  OnInit
} from '@angular/core';
import {
  FormBuilder,
  FormGroup
} from '@angular/forms';
import {testfunc} from 'test-lib';                  // import a function from my own library.

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit{

  constructor(
    private formBuilder: FormBuilder,
  ) {
  }

  ngOnInit() {

    const jsonA = {
      a: 'test',
      b: 10,
    };

    const fg = this.formBuilder.group(jsonA);       

    testfunc(fg);                                   // Add a Form Control inside this function

    const jsonB = fg.getRawValue();                 // 'control.getRawValue is not a function' error

  }
}

test-lib - это сборка проекта библиотеки Angular, например этот пост . И код для testfunc следующий.

import {
  FormControl,
  FormGroup
} from '@angular/forms';

export function testfunc(fg: FormGroup) {
  fg.addControl('c', new FormControl('newcontrol'));
}

fg.getRawValue() вызывает ошибку, как показано ниже.

ERROR TypeError: control.getRawValue is not a function
    at forms.js:5460
    at forms.js:5582
    at forms.js:5508
    at Array.forEach (<anonymous>)
    at FormGroup._forEachChild (forms.js:5504)
    at FormGroup._reduceChildren (forms.js:5576)
    at FormGroup.getRawValue (forms.js:5453)
    at AppComponent.ngOnInit (app.component.ts:34)
            :

Когда testfunc находится в одном проекте с AppComponent, Я не вижу этой ошибки. Но когда функция находится во внешней библиотеке, я получил эту ошибку.

Почему я получил эту ошибку, когда testfunc находится во внешней библиотеке?

Angular версия 9.1. 11.

...