2014-09-18 6 views
0

Построение простого приложения с нокаутом, и я столкнулся с ошибкой, которую я не совсем понимаю.Неожиданная ошибка маркера при импорте именных нокаутов

С учетом этих привязок:

var bindings = { 
    employee: { 
     name: ko.observable("Employee Name"), 
     address: ko.observable("Employee Address") 
    }, 

    ... 
}; 

ko.applyBindings(bindings); 

Я могу установить <input data-bind="value: employee.name"> без проблем. Проблема начинается тогда, когда я пытаюсь обернуть сотрудника в другом объекте:

var bindings = { 
    case: { 
     name: ko.observable("Case Name"), 

     employee: { 
      name: ko.observable("Employee Name"), 
      address: ko.observable("Employee Address") 
     } 
    }, 

    ... 
}; 

ko.applyBindings(bindings); 

Попытка установить <input data-bind="value: case.employee.name"> возвращает ошибку Unexpected token: case. Является ли это каким-то ограничением внутри самого Knockout, или я пропускаю что-то очевидное? Googling «Неожиданный нокаут ошибки маркера» (и его варианты) не возвращает никаких полезных результатов.

ответ

4

case - зарезервированное слово. Когда нокаут пытается сгенерировать функцию привязки, слово case не будет понято движком js и сгенерирует эту ошибку. Используйте другое -не зарезервированное слово.

+0

Действительно, должно быть, это поймало - мне нужно больше кофе. Спасибо за быстрый ответ! – CodeMoose

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