升级至Knockout 3.0.0,Templates/Custom Binding Handlers不再工作
Upgrade to Knockout 3.0.0, Templates/Custom Binding Handlers no longer work
当我的代码库升级到Knockout 3.0.0时,以下代码不再工作。有人能提供一个变通办法吗?
引用模板的代码:
<div data-bind="clientFormItemTemplate: {foreach: clients}"/>
模板代码:
<script type="text/html" id="clientFormItemTemplate">
<li>
<div style="float: left; padding-left: 5px;">
<span class="font-normal" data-bind="text: displayName"></span>
</div>
<div class="clear"/>
</li>
</script>
模板的自定义绑定处理程序:
ko.bindingHandlers.clientFormItemTemplate = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, context)
{
return ko.bindingHandlers.template.init.apply (this, arguments);
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel, context)
{
return (ko.bindingHandlers.template.update.apply (this, arguments));
}
}
我认为您缺少template
绑定的name
属性。您可以将其添加到自定义绑定中,如下所示:
ko.bindingHandlers.clientFormItemTemplate = (function() {
function getModifiedValue(valueAccessor) {
return function() {
var value = valueAccessor();
value.name = 'clientFormItemTemplate';
return value;
};
}
return {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, context) {
return ko.bindingHandlers.template.init(element, getModifiedValue(valueAccessor), allBindingsAccessor, viewModel, context);
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel, context) {
return ko.bindingHandlers.template.update(element, getModifiedValue(valueAccessor), allBindingsAccessor, viewModel, context);
}
};
})();
这是一个正在工作的JSFiddle(Knockout 3.0.0)。
相关文章:
- Javascript Custom Base32
- 性能与模块化:将JS集成到PHP或单独的custom.JS中
- 获取OData Binding的编辑数据
- 追加Jquery后的Binding Click事件不起作用
- 使用Angular not Binding引导模式绑定数据
- Javascript C++ binding?
- JavaScript 的全新功能,使用 Google Maps API v3 w/ custom fitbounds (
- Jquery binding to keyup
- Appcelerator Android Custom Fonts不起作用
- jQuery SelectMenu不适用于来自AJAX调用的KNOCKOUT DATA-BINDING
- 为什么javascript函数名称custom是一个小写的单词,后跟一个大写的单词,就像'orangeCost'一样
- Custom HTML - Rally TreeGrid
- JQuery Ajax Binding
- 升级至Knockout 3.0.0,Templates/Custom Binding Handlers不再工作
- Knockoutjs if/shim binding
- toEqual by binding不起作用
- Binding and _.bindAll in backbone.js
- Javascript Windows Azure Mobile Service Client With Custom A
- Aurelia oneTime binding as defaultBindingMode
- jQuery PageBeforeShow Event Binding Multiple Times