我有一个问题,我有4个嵌套列表,每个都在它自己的淘汰模型中。表单有页面。页面有部分。一个部分有组。一个小组有控制权。除组外的每个级别(页面,部分,组,控件)都可以在其自己的级别内进行排序。我遇到的问题是我正在尝试使用自定义绑定模板和列表。我需要自定义绑定来使用模板,但我也希望在同一个绑定中对元素进行排序。我得到了它的工作,但我失去了背景。当我在控制元素上执行ko.dataFor时,它给了我Section模型,而不是我想要的控制模型。并且ko.ContextFor $ parents数组在它应该链回来时是空的。我正在使用rendertemplateforeach,它似乎只在2.3的调试版本的淘汰赛中。任何帮助将不胜感激。
我不知道每个级别是否需要它自己的绑定,或者它们都进入一个大的绑定函数。
以下是示例代码。它不是100%工作。控件没有显示出来。
Sample Code< - LINK
ko.bindingHandlers.renderSection = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
$(element).sortable({
handle: '.draggable',
placeholder: "ui-state-highlight",
connectWith: ".sectionSortable",
}).disableSelection();
return {
controlsDescendantBindings: true
};
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var options = ko.utils.unwrapObservable(valueAccessor())
return ko.renderTemplateForEach(options.name, options.foreach, {}, element, bindingContext);
}
};