2013-09-27 4 views
1

яKnockout.js отображение плагин бросает ошибку при использовании "наблюдать" вариант

Uncaught TypeError: object is not a function

При попытке сделать это:

var objToMap = { 
    a: 1, 
    b: [ 
     { 
      c: { 
       d: 1 
      } 
     } 
    ] 
}; 
var mapped = ko.mapping.fromJS(objToMap, { observe: ["a"] }) 

http://jsfiddle.net/22Bjj/

документы говорят, что я могу использовать «соблюдать» отдельно, без указания «копии».

Это упрощенный пример, в моем реальном приложении у меня есть много объектов для копирования, и только один для наблюдения, поэтому использование только «наблюдения» является лучшим для меня.

+0

Просьба ознакомиться с последней версией github, потому что ваш код, похоже, работает с ним: http://jsfiddle.net/nemesv/G6zkd/ – nemesv

+0

Кажется, это не так ... Как вы пришли к такому выводу ? Я обновил скрипку и просто выкинул источник в html http://jsfiddle.net/G6zkd/1/ – Max

+0

В моей скрипке нет объекта, который не является функцией в консоли ... используя последнюю версию из github ... – nemesv

ответ

1

Вы используете довольно старую версию плагина отображения KO: 2.3.5, а последняя официальная версия v2.4.1

Но это последняя выпущенная версия также содержащий ошибку, что вы испытываете:

'observe' mapping options doesn't work with sub-object

Это было исправлено, но еще не выпустили, так что вы должны использовать абсолютную последнюю версию плагина непосредственно из github.

Смежные вопросы