0
我正在創建一個ionic-2項目,我在右下角有一個按鈕。我的觀念是,當我點擊按鈕時,時間選擇器應該打開。我必須選擇我的時間並點擊完成。Ionic-2:無法讀取未定義的屬性'open'
這是怎麼了我試過:
HTML:
<ion-header>
<ion-navbar color="primary">
<ion-title>Alarms</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<ion-card *ngFor="let alarms of serAlarm">
<ion-card-header>
{{alarms.id}}
<ion-toggle value="foo" checked="true"></ion-toggle>
</ion-card-header>
<ion-card-content>
<ion-checkbox (click)="clickRepeat()"></ion-checkbox> Repeat
<div class="hide">
</div>
</ion-card-content>
<ion-card-content class="top0">
{{alarms.hour}}:{{alarms.minute}}
</ion-card-content>
</ion-card>
<ion-datetime #dateTime displayFormat="HH:mm" pickerFormat="HH:mm" [(ngModel)]="dateTimeModel" (ionChange)="onTimeChange()"></ion-datetime>
<ion-fab right bottom>
<button ion-fab color="primary" (click)="opentime()">
<ion-icon name="add"></ion-icon>
</button>
</ion-fab>
</ion-content>
TS:
import { Component, ViewChild } from '@angular/core';
import { NavController} from 'ionic-angular';
@Component({
selector: 'page-alarm',
templateUrl: 'alarm.html'
})
export class AlarmPage {
time: string = '00:00';
serAlarm = [];
constructor(public navCtrl: NavController) { }
@ViewChild('dateTime') sTime;
opentime(){
this.sTime.open();
}
onTimeChange() {
var res = this.time.toString().split(":");
this.serAlarm.push({
id: "0",
description: "",
hour: res[0],
minute: res[1],
repeat: "0",
action: "0",
active: "1"
});
}
}
在這裏,一切工作正常。但是,當我點擊+
按鈕時,出現錯誤Cannot read the property 'open' of undefined
。我想,問題是在<ion-datetime>
一行。但是,我無法弄清楚什麼是錯的。有人可以幫我嗎?我應該改變什麼?
你可以嘗試添加'#dateTime'你離子日期時間元素獲得元素的保留?像這樣:' ion-datetime> –
echonax
@echonax:我得到這個錯誤'未處理的承諾拒絕:不能分配給參考或變量! ;區域:;任務:Promise.then;值:錯誤:不能分配給引用或變量!' –
SSS
哦,我認爲這是因爲它與'ngModel'具有相同的名稱。你可以這樣試試:' ion -datetime>' –
echonax