我们正在尝试设置淘汰模板以延迟加载网站上“文件夹”的内容。我遇到的问题是,我传递给applyBindingAccessorsToNode函数的列表正在抛出错误,
ko.applyBindingAccessorsToNode($("#subnode-" + id)[0], {
template: function () {
return {
name: "template-file-system-tree"
}
}
}, ko.observableArray(testFileSystem[id]));
但如果我发送一个单独的项目
ko.applyBindingAccessorsToNode($("#subnode-" + id)[0], {
template: function () {
return {
name: "template-file-system-tree"
}
}
}, testFileSystem[id][0]);
我没有幸运找到applyBindingAccessorsToNode的文档,看看它是否可能不会列入列表......但是有一个模板系统无法接受项目列表似乎毫无意义。
编辑:我的老板告诉我他只是打算让我们使用淘汰赛用于'平'名单,而只是在jquery中进行。我将检查jsfiddle代码的答案,我们希望将来能为这个问题找到解决方案。答案 0 :(得分:0)
您可以检查applyBindingAccessorsToNode source上一个参数名称是viewModelOrBindingContext
,这意味着knockout要求您传递viewModel对象或ko.bindingContext
的实例。
因此,您可以将对象{ fileSystemArray: testFileSystem[id] }
作为最后一个参数传递。