1

我正在使用 backgrid 显示来自后端 Db 的 JSON 结果。其中一个字段是从 1970 年(例如 1362578461000)开始的时间(以秒为单位),当 Backbone 视图接收到此数据时,backgrid 将其发送到用于格式化的时刻。Moment 然后抛出一个在 Moment.js (v.2.0.0) 的第 758 行指示的 javaScript TypeError 异常

TypeError:string.indexOf 不是函数

列格式如下所示:

            var columns = [{
            name: "startTime",
            label: "Start Time",
            editable: false,
            cell: "moment"
        }, {
            name: "endTime",
            label: "End Time",
            editable: false,
            cell: "moment"
        }];

在 Firebug 中设置一个刹车点,看起来 Moment 认为该值是一个整数而不是一个字符串。

utc()moment.js(第 960 行)

输入 = 1362578461000

格式 = "YYYY-MM-DDTHH:mm:ssZ"

语言 = 未定义

对 makeDateFromStringAndFormat 的调用如下所示:

makeDateFromStringAndFormat()moment.js (line 758) config = Object { _useUTC=true, _isUTC=true, _i=1362578461000, 更多...}

关于我可以做些什么来解决/解决这个问题的任何想法?

谢谢

4

1 回答 1

1

Author of Backgrid here. There are 2 parts to your question:

  1. Backgrid.js has only gained compatibility with moment.js 2.0.0 in 0.2.5 released yesterday.
  2. The moment cell doesn't accept integers as input in the model because it tries to convert timezones and locales, so your model values have to be in a datetime string format that moment knows how to parse.
于 2013-04-28T04:11:34.127 回答