dynatree敲除绑定问题

时间:2013-07-11 11:31:36

标签: knockout.js dynatree

我正在使用dynatree和淘汰赛。视图模型包含我想要使用复选框显示的'isManager'布尔属性。

问题是在应用dynatree绑定后,我似乎已经失去了对isManager属性的绑定。

这是小提琴: http://jsfiddle.net/markachten/UhA3m/

现在我不确定这是一个淘汰赛问题还是一个dynatree问题。它可以在绑定处理程序的定义中吗?我必须在引用jsFiddle时输入一些代码,我不确定是否将整个代码粘贴得很方便......无论如何,它是否在绑定的定义中?

ko.bindingHandlers.dynatree = {
    ...        
};

或者我是否需要传递一些额外的绑定选项?

{
    noLink: true,
    minExpandLevel: 2
    // what should go here?
}

有关代码的一些其他评论: 我被迫在dynatree中将'noLink'属性设置为true。如果设置为false,我无法选中复选框。我正在使用跨度内的跨度来显示名称和输入元素。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这是dynatree问题(我跟jstree一样)。

这里的问题是,要dynatree插件能够绘制树,需要在html中添加新元素。换句话说,它再次重组你的HTML。

您可以通过检查检查器中的结果html来检查这一点。你会发现你的data-bind已经不复存在了!

因此,要解决此问题,您需要将自定义绑定dynatree放在<ul>

<div id="dynatree" data-bind="">
    <ul data-bind="template: { name: 'itemTmpl', foreach: persons },dynatree: {}"></ul>
</div>

<强> Working DEMO