【发布时间】:2018-04-01 00:41:12
【问题描述】:
我目前正在开发一个 ionic 应用程序,我正在使用 Ionic Native Calendar Plugin 在我的项目中创建日历事件。我希望能够为每个事件动态更改日期和时间,因此我使用 Firebase 作为后端,并希望将日历参数集成到我的 JSON 文件中以实现此目的。
一切都按照标准方法运行良好,即拥有一个具有功能的按钮:
**home.html**
<button ion-button (click)="createEvent()">Add to Calendar</button>
然后声明函数:
**home.ts**
createEvent() {
this.calendar.createEvent('myEventName', 'myEventLocation', 'myEventNote', new Date(2017, 9, 20, 13, 0, 0, 0),
new Date(2017, 9, 20, 14, 0, 0, 0)).then(() => {
console.log('Event Created!');
}).catch((err) => {
console.log('Oops, something went wrong:', err);
});
}
如果我在我的项目中运行上面的这个方法,事件就会成功创建。 然而,使用此方法将不允许我能够动态创建日历事件,而这正是我想要实现的。因此,不知何故,我需要将home.ts 文件中的createEvent() 中的代码链接到我的JSON 文件中,对吗?所以这是我迄今为止尝试过的,似乎没有任何效果,而且我不知道我哪里出错了 - 我怀疑我没有将新的 Date() 参数正确转换为可读的 JSON细绳?到目前为止,这是我尝试通过 JSON 动态创建事件时所做的:
home.html:
<button ion-button (click)="createEvent()">Add to Calendar</button>
home.ts:
import firebase from 'firebase';
export class HomePage {
events = [];
constructor(..) {
firebase.database().ref('events').on('value', snapshot => {
this.events = snapshot.val();
});
}
createEvent() {
this.calendar.createEvent(
this.item.item[0].title,
this.item.item[0].location,
this.item.item[0].notes,
this.item.item[0].startDate,
this.item.item[0].endDate,
).
then(() => {
console.log('Event Created!');
})
.catch((err) => {
console.log('Oops, something went wrong:', err);
});
}
JSON 文件(在 Firebase 数据库中):
"events" : [ {
"title" : "myEventName",
"location" : "myEventLocation",
"notes" : "myEventNote",
"startDate" : "new Date(2017, 9, 20, 13, 0, 0, 0)",
"endDate" : "new Date(2017, 9, 20, 14, 0, 0, 0)"
}, {
所以,当我运行上述程序时,没有任何反应,没有使用此方法创建日历事件。请协助。谢谢。
【问题讨论】:
标签: javascript jquery json datetime ionic-framework