1

Trigger カレンダー モジュールを使用していますが、iOSで次のコードを呼び出すと、何の反応もなくアプリが停止するだけです。Android では問題は発生しませんが、カレンダーに日付が正しく入力されていないようです。

var start = new Date(this.booking.startdatetime());
var end = new Date(this.booking.enddatetime());

forge.calendar.addEvent({
    title:"title",
    description:"description",
    start:start,
    end:end,
    allday:false
}, function () {            
    alert("Event added!");

}, function (content) {                    
    alert("error");

}
);

コールバックに到達することはなく、例外をキャッチしようとしても結果が得られません。ただし、new Date()開始/終了として渡すだけで完全に機能します。

私自身の開始/日付変数の形式は次のとおりです。

Sun Feb 03 2013 22:00:00 GMT+0100 (Mitteleuropäische Zeit)

と同じように見えますがnew Date()、とにかくそこに問題があると思いますか?

4

1 に答える 1

2

この問題は、日付文字列の 1 つが適切にフォーマットされていないことが原因で発生しました。これは、Web モードに戻って Chrome のオブジェクトを調べることで見つかりました...

とにかく、その側でさらに問題が発生した後、次のように日付をフォーマットする必要があります。

            var start = moment(this.booking.startdatetime(), "YYYY-MM-DD HH-mm-ss").toDate();
            var end = moment(this.booking.enddatetime(), "YYYY-MM-DD HH-mm-ss").toDate();

これを行うと、一般的に機能します-唯一の問題は、カレンダーを呼び出すときに、日付オブジェクトから1〜2分を加算または減算することがあることです。どう見てもランダム。

ログに記録すると、呼び出しの直前でも日付が正しいaddEvent()ことがわかります。これが発生する理由やデバッグ方法について何か提案はありますか?

于 2013-02-05T18:17:43.710 に答える