2017-11-07 9 views
0

私の問題は、データが観測可能なので、データが の場合は未定義であり、定義されていない場合は医師のオブジェクトに入れますが、 私のコードの一部はデータを使用してエラーが発生するためです。 値は定義されていませんどのように変数の応答の値を取得できますか?あなたが `` workingDayFilter呼び出すとき角度4の観測可能な応答から値を取得する方法は?

workingDayFilter = (d: Date): boolean => { 
    const day = d.getDay(); 
    let workingDays = this.doctor.workingDays; 
    let result: boolean = false; 

    for (let i = 0; i < workingDays.length; i++) { 
     if (day == workingDays[i]) { 
      result = true; 
     } 
    } 

    return result; 

} 


ngOnInit() { 

    this.getDoctor(); 


    console.log(this.doctor); 
    this.appointmentForm = this.formBuilder.group({ 
     patientId: this.patientId, 
     date: this.date, 
     timeSlot: this.timeSlot 
    }); 

} 
public getDoctor() { 
    this.doctorService.getDoctorPublicInfo().subscribe((data) => { 
     if (data != undefined) { 
      this.doctor = data.json(); 
     } 
    }); 
} 
+0

のようなものを試してみてください? –

+0

フィルタは角度材料で自動的に呼び出されます。実行のコントロールはありません。基本的に、角度材料の日付ピッカーにフィルタを追加します。 – ashutosh

+0

値を割り当てる前に、そのプロパティが 'workingDayFilter'で定義されていないことがわかります。 – dev

答えて

0

この

ngOnInit() { 

this.getDoctor().subscribe((data) => { 


    console.log(this.doctor); 
    this.appointmentForm = this.formBuilder.group({ 
     patientId: this.patientId, 
     date: this.date, 
     timeSlot: this.timeSlot 
    }); 
}) 

}; 
public getDoctor() { 
this.doctorService.getDoctorPublicInfo().map((resp) => { 
    if (resp != undefined) { 
     this.doctor = resp.json(); 
    } 
}); 

}

+0

として未定義になります。これは角度エラーを発生させませんDoctorMakeAppointment.html:8 ERROR Error: 。角度でフォームグループのインスタンスが取得されていないため、私はそのインスタンスを渡してください。 – ashutosh

+0

このエラーが見つかりました。あなたのhtmlは正しいですか? https://stackoverflow.com/questions/38444778/formgroup-expects-a-formgroup-instance – NicoLA

+0

私のhtmlが正しい問題は、角度がformgroup変数を参照すると、フォームビルダーのコードをgetDoctorメソッドに移動したために未定義と表示されることですngOnInitメソッドでフォームグループを設定して、角度でビューをレンダリングしようとすると準備が整います。 – ashutosh

関連する問題