我正在努力將數據從Angular服務傳遞到組件。我從一個簡單的模型類(./cet.model)通過Angular 2服務傳遞數據
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'」。
我哪裏錯了?
import { CetModel } from './cet.model';
export class CetService {
private cet = new CetModel();
getCet() {
return this.cet;
}
}
您還沒有創建的模型對象:
感謝
我相信你缺少waferDiameter前面的「this」字,換句話說就是試試這個.waferDiameter = this.cet.waferDiameter,如果你的waferDiameter是組件類中聲明的字段,那當然是正確的 – Lys
嗨。感謝您的反饋。如果我將角度組件代碼編輯爲'this.waferDiameter = this.cet.waferDiameter',那麼我會得到以下Linter和Build錯誤 - 「意外的令牌,期望構造函數,方法,訪問器或屬性」。 – Brasso