Knockout Custom Binding使用带有嵌套foreach的模板

时间:2013-09-25 00:03:42

标签: templates knockout.js custom-binding

我有一个问题,我有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);
}

};

0 个答案:

没有答案