使用Knockout构建一个简单的应用程序,我遇到了一个我不完全理解的错误。
鉴于这些绑定:
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本身的某种限制,还是我忽略了一些明显的东西?谷歌搜索“意外的令牌错误淘汰”(及其变种)不会返回任何有用的结果。
答案 0 :(得分:4)
case
是保留字。当knockout尝试生成绑定函数时,js引擎将无法理解case
字,并将生成该错误。使用另一个 - 不是保留字。