2013-04-18 5 views
1

Я использую backgrid для отображения результатов JSON от бэкэнда Db. Одним из полей является время в секундах с 1970 года (например, 1362578461000), когда представление Backbone получает этот backgrid данных, который отправляет его на мгновение для формирования. Момент бросает исключение TypeError JavaScript, указанный в строке 758 Moment.js (v.2.0.0)Moment throwing TypeError string.indexOf при использовании Backgrid

TypeError: string.indexOf is not a function

Формат столбца выглядит следующим образом:

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

Ввод brakepoint в Firebug это выглядит например, Moment считает, что значение представляет собой целое число, а не строку.

utc()moment.js (line 960)

input = 1362578461000

format = "YYYY-MM-DDTHH:mm:ssZ"

lang = undefined

И призыв к makeDateFromStringAndFormat выглядит следующим образом:

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

Любые идеи относительно того, что я могу сделать, чтобы исправить/обойти это?

Thanks

+0

Удалось ли вам решить это? У меня аналогичная проблема – user1694873

ответ

1

Автор Backgrid здесь. На ваш вопрос есть 2 части:

  1. Компания Backgrid.js только получила совместимость с моментальным выпуском момента .js 2.0.0 в 0.2.5.
  2. Ключ момента не принимает целые числа в качестве входных данных в модели, потому что он пытается преобразовать временные интервалы и локали, поэтому ваши значения модели должны быть в формате строки даты, который в данный момент знает, как анализировать.