Netbeans knockout.js自定义绑定名称中是否允许有数字?
我有一个自定义绑定声明如下的应用程序Netbeans knockout.js自定义绑定名称中是否允许有数字?,netbeans,knockout.js,netbeans-7.4,Netbeans,Knockout.js,Netbeans 7.4,我有一个自定义绑定声明如下的应用程序 ko.bindingHandlers.slideContent2 = { init: ..., update: ... } 我在html中使用它(除其他外) 它工作正常,不会产生错误。今天我发现Netbeans 7.4中新的knockout.js语法检查器认为有错误。它指向数字2。如果我去掉这个,它会认为这个名字很好。环顾web示例,我还没有找到一个在自定义绑定的名称中使用数字的示例 自定义绑定名称中的数字合法吗?Netbeans检查程
ko.bindingHandlers.slideContent2 = {
init: ...,
update: ...
}
我在html中使用它(除其他外)
它工作正常,不会产生错误。今天我发现Netbeans 7.4中新的knockout.js语法检查器认为
有错误。它指向数字2
。如果我去掉这个,它会认为这个名字很好。环顾web示例,我还没有找到一个在自定义绑定的名称中使用数字的示例
自定义绑定名称中的数字合法吗?Netbeans检查程序是否过于热情 从淘汰的角度来看,每个有效的JavaScript标识符名称都是一个有效的自定义绑定处理程序名称 因此,您可以在自定义绑定处理程序中使用数字。有关完整标识符名称引用,您可以检查: 但是,从Netbeans语法检查器的角度来看,自定义绑定名称中只允许使用字母 为了便于参考,请查看的来源(我添加了一些注释)
从淘汰的角度来看,每个有效的JavaScript标识符名称都是一个有效的自定义绑定处理程序名称 因此,您可以在自定义绑定处理程序中使用数字。有关完整标识符名称引用,您可以检查: 但是,从Netbeans语法检查器的角度来看,自定义绑定名称中只允许使用字母 为了便于参考,请查看的来源(我添加了一些注释)
数字在JavaScript属性名称中是合法的,在绑定处理程序名称中也是如此。只有Netbeans检查器过于频繁。数字在JavaScript属性名称中是合法的,在绑定处理程序名称中也是如此。只有Netbeans检查程序过于热情。非常感谢您证实我的怀疑。我提交了一份bug报告:非常感谢你证实我的怀疑。我提交了一份bug报告:
<div data-bind="slideContent2: true"></div>
case IN_KEY:
if (!Character.isLetter(c)) { // the character 2 is not a letter
if (c == ':') {
state = State.AFTER_KEY;
input.backup(1); //backup the colon
return tokenFactory.createToken(KODataBindTokenId.KEY);
} else if (Character.isWhitespace(c)) {
state = State.WS_AFTER_KEY;
input.backup(1); //backup the ws
return tokenFactory.createToken(KODataBindTokenId.KEY);
} else { // 2 is not a the colon and not a whitespace so it returns Error:
state = State.INIT;
return tokenFactory.createToken(KODataBindTokenId.ERROR);
}
}
//stay in IN_KEY
break;