这个knockout 2.1绑定表达式在Firefox和IE9下工作正常,但在IE9兼容模式下崩溃,错误“预期的标识符,字符串或数字”:
<div data-bind="template: { if: myDataModel,data: myDataModel,afterRender: setup(myDataModel) }">
我在调试器下找到了实际位置,这是这行代码(knockout-2.1.0.debug.js):
return new Function("sc",functionBody)
functionBody是一个等于上面表达式的字符串.我尝试使用空格和回车字符 – 没有任何帮助,相同的结果:它与IE9兼容模式以外的任何浏览器一样工作
有什么建议?
解决方法
我认为问题是IE的旧版本不喜欢“if”或类似的保留字出现为属性名称.尝试在属性名称周围添加单引号.
<div data-bind="template: { 'if': myDataModel,afterRender: setup(myDataModel) }">
当你有一个“类”绑定时,你会发生另一个常见的时间.相同修复:
<tr data-bind="attr: { 'class': packageSelected() ? 'success' : '' }">
JS中的保留字列表:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Reserved_Words
原文地址:https://www.jb51.cc/js/151051.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。