表单生成器 'Cannot read property (...) of null'

Form builder 'Cannot read property (...) of null'

Model.ts

class A {
    b: B;
}

class B {
    someValue: string;
}

Component.ts

import { FormBuilder } from '@angular/forms';

this.formInput = this.formBuilder.group({
    'valueController': [this.a.b.someValue],
});

错误

第一次加载页面时显示以下错误:

ERROR TypeError: Cannot read property 'someValue' of null

我正在构建一个表单页面来创建一个实体,模型开始时是空的。我已经尝试在构造函数中初始化 b,但它不起作用。我不想在 component.ts

中设置 b 的值

如何进行这项工作?

丹尼尔,我想你有一些喜欢

this.a=new A()

但是a只是一个空对象,就像你写的那样

this.a={}

如果你的class有一个像

这样的构造器
class A {
    b: B;
    constructor()
    {
      this.b=new B()
    }
}

this.a will be an object with property b, but this.a.b is an empty object too.

只有你写在B的构造函数中,有些像

class B {
    someValue: string;
    constructor()
    {
      this.someValue="hello"
    }
}

您将获得一个有价值的对象

注意:通常在 Angular 我们使用界面,如果唯一的目标是 "typed variables",你可以查看文档 about class or about interfaces