【问题标题】:Moment throwing TypeError string.indexOf when using Backgrid使用 Backgrid 时抛出 TypeError string.indexOf
【发布时间】:2013-04-18 17:19:24
【问题描述】:

我正在使用 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(第 758 行) config = Object { _useUTC=true, _isUTC=true, _i=1362578461000, 更多...}

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

谢谢

【问题讨论】:

  • 你有没有运气解决这个问题?我也有类似的问题

标签: momentjs backgrid


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2011-10-03
    • 2016-11-18
    相关资源
    最近更新 更多