使用Backgrid时要投掷TypeError string.indexOf

时间:2013-04-18 17:19:24

标签: momentjs backgrid

我使用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

     

format =“YYYY-MM-DDTHH:mm:ssZ”

     

lang = undefined

对makeDateFromStringAndFormat的调用如下所示:

  

makeDateFromStringAndFormat()moment.js(第758行)   config = Object {_useUTC = true,_isUTC = true,_ i ​​= 1362578461000,more ...}

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

由于

1 个答案:

答案 0 :(得分:1)

Backgrid的作者在这里。您的问题分为两部分:

  1. Backgrid.js只与昨天发布的0.2.5中的moment.js 2.0.0兼容。
  2. moment单元格不接受整数作为模型中的输入,因为它尝试转换时区和语言环境,因此您的模型值必须采用日期时间字符串格式,当时知道如何解析。