Javascript 敲除2.0无法分析绑定
最近,我从另一个开发人员那里得到了一堆代码,我应该使用这些代码来构建其他功能。不幸的是,我不能在本地运行它。奇怪的是,我应该使用的门户在服务器上运行得非常好,但是当我试图在本地运行它时,我得到了以下异常Javascript 敲除2.0无法分析绑定,javascript,apache,netbeans,knockout.js,osx-elcapitan,Javascript,Apache,Netbeans,Knockout.js,Osx Elcapitan,最近,我从另一个开发人员那里得到了一堆代码,我应该使用这些代码来构建其他功能。不幸的是,我不能在本地运行它。奇怪的是,我应该使用的门户在服务器上运行得非常好,但是当我试图在本地运行它时,我得到了以下异常 Uncaught Error: Unable to parse bindings. Message: SyntaxError: Unexpected identifier; Bindings value: css: {
Uncaught Error: Unable to parse bindings.
Message: SyntaxError: Unexpected identifier;
Bindings value: css: {
'make-primary':(lala.viewModels.transacFilterTabsViewModel.getSyncList().resultsetLength() > 0 && !lala.viewModels.transacQuickactionsViewModel.operationInProgress() && (lala.viewModels.transacFilterTabsViewModel.getSyncList().captureButtonIsEnabled() || lala.viewModels.transacFilterTabsViewModel.getSyncList().refundButtonIsEnabled()Â || lala.viewModels.transacFilterTabsViewModel.getSyncList().abortButtonIsEnabled())),
我注意到的一件奇怪的事情是,在.returnButtonIsEnabled()块周围会显示一个奇怪的字符(“A”),这个字符在我使用google chrome开发控制台工具之前对我的代码是不可见的。因此,我的理论是我的localhost设置可能有问题
为了运行此代码,我正在使用:
<div class="span6 actions-panel-bottom" data-bind="css: {
'make-primary': (lalal.viewModels.transacFilterTabsViewModel.getSyncList().resultsetLength() > 0 && !lalal.viewModels.transacQuickactionsViewModel.operationInProgress() && (lalal.viewModels.transacFilterTabsViewModel.getSyncList().captureButtonIsEnabled() || lalal.viewModels.transacFilterTabsViewModel.getSyncList().refundButtonIsEnabled()|| lalal.viewModels.transacFilterTabsViewModel.getSyncList().abortButtonIsEnabled()))">
我想提到的是,在代码失败之前,其他几个绑定将成功运行,并在“makeprimary”处停止,它将添加这个奇怪的字符
提前谢谢你!如果您有任何关于如何调试这种情况的提示,我将非常感激 似乎与KO 2.0特别相关。我在那里得到了一个错误,但不是在3.0中。这是一个非常糟糕的装订。通常,绑定应该是简单表达式,而复杂表达式应该在viewmodel中 你不能更新淘汰版本有什么原因吗 下面的代码片段只是一个简单的复制。将其复制到新代码段,并在更改版本和运行它时观察控制台
ko.applyBindings({})代码>
你好,罗伊,谢谢你的回答!回答你的问题:-不幸的是,这个项目非常复杂,并且有很多依赖性。尽管如此,我还是尝试按照您的建议更改版本以进行测试,但我有相同的错误。让我感兴趣的是,在以下条件的末尾,saadmin.viewModels.transacFilterTabsViewModel.getSyncList().returnButtonisEnabled()显示了一个奇怪的字符,我在代码中看不到它。。。这个字符是丹麦字符,因此我认为服务器配置可能有问题。P.s:我在Netbeans中查找了不可见的字符,除了空格以外,我什么也看不到,我不知道,对不起。
'parseBindingsString': function(bindingsString, bindingContext, node) {
try {
var bindingFunction = createBindingsStringEvaluatorViaCache(bindingsString, this.bindingCache);
return bindingFunction(bindingContext, node);
} catch (ex) {
throw new Error("Unable to parse bindings.\nMessage: " + ex + ";\nBindings value: " + bindingsString);
}
}
});