1
財產「推」我有問題,當上打字稿用推法,在這裏
細節這是我的預約模式組件的代碼:無法讀取的不確定
guestArray=[1, 2, 3, 4, 5, 6];
guests: number;
isDateTime: boolean = false;
constructor(private params: ModalDialogParams,
private page: Page) {
if(params.context === "guest") {
this.isDateTime = false;
}
else if(params.context === "date-time") {
this.isDateTime = true;
}
}
ngOnInit() {
if (this.isDateTime) {
let datePicker: DatePicker = <DatePicker>this.page.getViewById<DatePicker>('datePicker');
let currentdate: Date = new Date();
datePicker.year = currentdate.getFullYear();
datePicker.month = currentdate.getMonth() + 1;
datePicker.day = currentdate.getDate();
datePicker.minDate = currentdate;
datePicker.maxDate = new Date(2045, 4, 12);
let timePicker: TimePicker = <TimePicker>this.page.getViewById<TimePicker>('timePicker');
timePicker.hour = currentdate.getHours();
timePicker.minute = currentdate.getMinutes();
}
}
public submit() {
if (this.isDateTime) {
let datePicker: DatePicker = <DatePicker>this.page.getViewById<DatePicker>('datePicker');
let selectedDate = datePicker.date;
let timePicker: TimePicker = <TimePicker>this.page.getViewById<TimePicker>('timePicker');
let selectedTime = timePicker.time;
let reserveTime = new Date(selectedDate.getFullYear(),
selectedDate.getMonth(),
selectedDate.getDate(),
selectedTime.getHours(),
selectedTime.getMinutes());
this.params.closeCallback(reserveTime.toISOString());
}
else {
let picker = <ListPicker> this.page.getViewById<ListPicker>('guestPicker');
this.params.closeCallback(this.guestArray[picker.selectedIndex])
}
}
`
提交後返回預訂組件的結果在這裏處理是它們的代碼。
reservation: FormGroup;
formReservation: View;
formResult: View;
docId: string = "reservations";
doc: any;
db:any;
constructor(private changeDetectorRef: ChangeDetectorRef,
private formBuilder: FormBuilder,
private modalService: ModalDialogService,
private vcRef: ViewContainerRef,
private page: Page,
private couchbaseService: CouchbaseService) {
super(changeDetectorRef);
this.reservation = this.formBuilder.group({
guests: 3,
smoking: false,
dateTime: ['', Validators.required]
});
this.doc = this.couchbaseService.getDocument(this.docId);
}
createModalView(args) {
let options: ModalDialogOptions = {
viewContainerRef: this.vcRef,
context: args,
fullscreen: false
};
this.modalService.showModal(ReservationModalComponent, options)
.then((result: any) => {
if (args === "guest") {
this.reservation.patchValue({ guests: result });
}
else if (args === "date-time") {
this.reservation.patchValue({ dateTime: result });
}
});
}
ngOnInit() {
this.formReservation = <View>this.page.getViewById<View>("form_reservation");
this.formResult = <View>this.page.getViewById<View>("form_result");
this.formResult.animate({
opacity: 0,
scale: { x: 0.5, y: 0.5 },
duration: 0
})
}
onSmokingChecked(args) {
let smokingSwitch = <Switch>args.object;
if (smokingSwitch.checked) {
this.reservation.patchValue({ smoking: true });
}
else {
this.reservation.patchValue({ smoking: false });
}
}
onGuestChange(args) {
let textField = <TextField>args.object;
this.reservation.patchValue({ guests: textField.text });
}
onDateTimeChange(args) {
let textField = <TextField>args.object;
this.reservation.patchValue({ dateTime: textField.text });
}
onSubmit() {
console.log(JSON.stringify(this.reservation.value));
let reservationArr : Array<object>;
reservationArr.push(this.reservation.value);
console.log(JSON.stringify(reservationArr));
this.formReservation.animate({
opacity: 0,
scale: { x: 0.5, y: 0.5 },
duration: 500
}).then(() => this.formResult.animate({
opacity: 1,
scale: { x: 1, y: 1 },
duration: 500
}));
if (this.doc == null) {
console.log("This is the first reservation");
this.couchbaseService.createDocument({ "guests": this.reservation.value.guests, "smoking": this.reservation.value.smoking, "dateTime": this.reservation.value.dateTime }, this.docId);
} else {
console.log(this.doc.value);
this.couchbaseService.updateDocument(this.docId, { "guests": this.reservation.value.guests, "smoking": this.reservation.value.smoking, "dateTime": this.reservation.value.dateTime });
}
}
這是我的日誌圖像提交後我收到數據,但我不能推到一個新的數組。你能檢查並解釋我爲什麼沒有工作?非常感謝你。
我的朋友。它的工作,非常感謝你。 –