表单生成器 '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
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