我正在努力将数据从Angular服务传递到组件。我从一个简单的模型类(./cet.model)
开始export class CetModel {
constructor(
public waferDiameter: number = 10
) {}
}
然后定义一个角度服务(./cet.service);
import { CetModel } from './cet.model';
export class CetService {
private cet: CetModel;
getCet() {
return this.cet;
}
}
相关的角度分量;
import { Component } from '@angular/core';
import { CetService } from './cet.service';
import { CetModel } from './cet.model';
@Component({
selector: 'cet-input',
templateUrl: './cet-input.component.html',
providers: [ CetService ]
})
export class CetInputComponent {
constructor(public cetService: CetService){}
cet: CetModel = this.cetService.getCet();
waferDiameter = this.cet.waferDiameter
}
代码构建没有错误,但是当我尝试在组件模板中显示变量'waferDiameter'时,我收到错误;
“无法读取未定义的属性'waferDiameter'。”
我哪里错了?
由于
答案 0 :(得分:2)
更改 cet.service 中的代码,如下所示:
import { CetModel } from './cet.model';
export class CetService {
private cet = new CetModel();
getCet() {
return this.cet;
}
}
您尚未创建模型对象。这就是为什么this.cet
返回undefined并且waferDiameter
未定义的原因。