2017-02-20 4 views
0

私はAngular 2アプリにデータを取り込んでいますが、情報が表示される前にページコンポーネントが読み込まれる場合を除いて、すべてが期待どおりに動作しています表示する。これらの機会に私は "リフレッシュ"を押すことができ、データが入力されます。しかし、これはもちろん望ましい動作ではありません。そこで私は、この情報を呼び出す責任を負う関数をngOnInitライフサイクルフックに移動することを考えました。しかし、私がしようとすると、私のIDEにエラーが表示され、なぜそれがわからないのですか?NgOnInitライフサイクルフック内で移動する問題2角形のアプリケーション

これは私の現在のコンポーネントの関連情報は、次のようになります。私が手...

ngOnInit() { 
    public getPropertyStatus(name: string): string { 
    return this.doctor ? this.doctor.getPropertyStatus(name) : ''; 
} 

:このように、私は私のngOnInitにこの "gePropertyStatus" メソッドを移動した場合

export class DoctorGeneralComponent extends EventHandler implements OnInit { 

    @Input('doctor') 
    public doctor: DoctorModel; 

    constructor(private dialog: MdDialog) { 
     super(); 
    } 

    ngOnInit() { 

    } 

    public getPropertyStatus(name: string): string { 
     return this.doctor ? this.doctor.getPropertyStatus(name) : ''; 
    } 
} 

ts "declarationまたはstatement expected"エラーです。

ここで何が起こっているのか、どのようにngOnInitライフサイクルフック内にこのメソッドを含めることができますか? ngOnInitの内部

+0

あなたはこの場合は別の方法 – Karuban

+0

内getPropertyStatus方法を配置する必要はありません、はいあなたは、あなたがのタイミングに問題がある場合データロード。それがngOnInitの全体のポイントです。コンポーネントが開始されたときに特定のメソッドが正しく実行されるようにするためです。 – Muirik

答えて

2

コールそれは、それの外にそれを定義:

ngOnInit() { 
    this.getPropertyStatus("whatever name"); 
} 

private getPropertyStatus(name: string): string { 
    return this.doctor ? this.doctor.getPropertyStatus(name) : ''; 
} 
+0

これは、ありがとうございます。 1つの注記:私は少しこれをこれに変更しました: ngOnInit(){this.getPropertyStatus(name); – Muirik

関連する問題