【发布时间】:2013-06-25 19:43:58
【问题描述】:
我创建了自定义绑定处理程序“foreachprop”
ko.bindingHandlers.foreachprop = {
transformObject: function (obj) {
var properties = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
properties.push({ key: key, value: obj[key] });
}
}
return properties;
},
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var value = ko.utils.unwrapObservable(valueAccessor()),
properties = ko.bindingHandlers.foreachprop.transformObject(value);
ko.applyBindingsToNode(element, { foreach: properties });
return { controlsDescendantBindings: true };
}
};
如果我遍历对象
<div data-bind="foreachprop: sections"></div>
这行得通, 但是,如果我使用无容器控件,它不适用于相同的数据
<!-- ko foreachprop: sections --> <!-- /ko -->
如何为自定义绑定处理程序使用无连续控制流
Jsfiddle 创建了新的http://jsfiddle.net/E6xq2/5/
【问题讨论】:
-
您的 JSFiddle 中没有淘汰赛。您发布了正确的链接吗?
-
请检查你的小提琴。
-
jsfiddle.net/E6xq2/5 看看这个小提琴,我创建了一个新的来解释。