我的应用程序有一个绑定,它使用jQuery Templates
插件绑定 Knockout 模板。自从升级到 Knockout3.x
我开始看到一个错误:
Uncaught SyntaxError: Unable to process binding "template: function (){return { name:'tmpl',foreach:$data.children} }"
Message: Unexpected token )
升级到 Knockout 版本后,上述错误不允许我的绑定工作。3.x
(例如3.4.0
)。对于旧版本(例如2.1.0
),它可以正常工作。
该错误可能是由于与jQuery Templates
插件的某些冲突引起的。不幸的是,我必须在我的应用程序中使用它。
可能是什么原因和解决方案?
var viewModel = function() {
var self = this;
self.children = ko.observableArray(
[{}]
);
};
ko.applyBindings(new viewModel());
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script src="https://rniemeyer.github.com/KnockMeOut/Scripts/jquery.tmpl.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-debug.js"></script>
<div data-bind="template: { name: 'tmpl', foreach: $data.children }">
</div>
<script id="tmpl" type="text/html">
<div data-bind="template: { name: 'tmpl', foreach: $data.children, templateOptions: { parentList: $data.children } }">
</div>
</script>