0

SpineJSモデルで日付と時刻を処理するための最良の方法を探しています。私はある種のイベントカレンダーの作成に取り組んでいます。最初のハードルは、素敵な6週間のカレンダーを表示することです。前月の最終日曜日に開始し、翌月の第1土曜日に終了する必要があります。

私はDateJs(http://www.datejs.com/)を使用していて、ビューテンプレートでいくつかの日付を処理していましたが、このビューをクリーンアップするために、この一部をモデルに移動したいと思いました。

私が取り組んでいる関数は「firstDay」と呼ばれています。これにより、カレンダーを開始する日付(前月の最終日曜日)が見つかります。

  firstDay: () ->
    Date.today().set({month: @month}).moveToFirstDayOfMonth().moveToDayOfWeek(0, -1)

私が試した使用法:

<% day = cal.firstDay %>

  // initialize the table header, etc

  <tbody>
    <% while !day.equals(cal.lastDay): %>
    // render each calendar tile/square

そしてここにエラーがあります:

Uncaught TypeError: Object function () {
      return Date.today().set({
        month: this.month
      }).moveToFirstDayOfMonth().moveToDayOfWeek(0, -1);
    } has no method 'equals'

したがって、私のSpineモデルはDateJSを認識していないようです...それは理にかなっていると思います。関数の評価ではなく、関数自体が返されているように見えます...それが理にかなっている場合。

ここでのガイダンスは、日付と時刻をモデルに組み込むための最良の方法についていただければ幸いです。

ありがとう

4

1 に答える 1

0

だから私の問題は非常に単純でした...構文。coffescriptとspinejsに非常に慣れていないので、一度にたくさんのことを見ていて、明らかなことを見逃していたと思います。

Coffeescript/ecoテンプレートからこの関数を呼び出す適切な方法は次のとおりです。

<% day = cal.firstDay() %>

関数呼び出しの括弧がありませんでした。将来、エラーに再び遭遇した場合、この間違いは簡単に認識できるはずです。実際、そもそもそれは明らかだったはずです...繰り返しますが、あまりにも多くの新しいことがあります。

于 2012-12-21T00:37:51.440 に答える