0
執行以下代碼時,我得到一個TypeError
:屬性未定義的打字稿
server.class.ts
import {Handlers} from './handlers.class';
export class Server{
private _hInstance: Handlers;
static _instance: Server;
private constructor(){
this._hInstance = new Handlers();
this._hInstance.mymethod();
}
static instance(): Server{
if(!!!Server._instance){
Server._instance = new Server();
}
return Server._instance;
}
}
handler.class.ts
import { Polo } from './../extapi/polo.class';
export class Handlers{
private _polo: Polo;
constructor(){
this._polo = Polo.instance(); // same as Server.instance()
}
mymethod(){
this._polo.someMethod(); // Error
}
馬球類使用定義單個實例的相同技術,並提供用於返回實例的靜態方法instance()
。該代碼單獨測試,工作正常。該類型的錯誤引發了undefined
屬性_polo
無法讀取。這真是令人困惑,因爲在其實例上調用someMethod
之前已經實例化類Polo
。
謝謝。
你能提供一個jsfiddle的問題嗎? mymethod叫什麼名字? – Harald
@Harald'mymethod'只能在'Server'類的構造函數中調用。爲了澄清,代碼庫很長,我不確定是否發佈了整個代碼(6個類,2個接口),所以我只是找出引起問題的部分。如果問題不明確,那麼我會發布整個代碼(我很樂意回答任何其他問題)。謝謝 –
@Harald jsfiddle:https://jsfiddle.net/mr0cool/bf9e8wmy/ –