解释一些淘汰赛代码

时间:2013-05-14 09:45:33

标签: javascript knockout.js

<div data-bind="template: { name: 'editFile', 'if': fileToEdit, data: fileToEdit },myDialog: { open: fileToEdit, accept: acceptFile, cancel: cancelFile, position: $root.lastClicked }">
</div>

如何调用'fileToEdit'? 我认为'myDialog'是一个自定义模板?这看起来是由这段代码调用的:

ko.bindingHandlers.myDialog

这是否会对'myDialog'的任何自定义绑定进行初始化?

knockout提供了一些参数的文档:

  

name - 包含您希望的模板的元素的ID   渲染 - 有关如何以编程方式更改此内容,请参阅注释5。数据 - 一个   要提供的对象作为要呈现的模板的数据。如果省略   这个参数,KO会查找一个foreach参数,否则会掉落   回到使用您当前的模型对象。 if - 如果此参数是   如果提供,模板将仅在指定时呈现   expression的计算结果为true(或true-ish值)。这可能很有用   用于防止null observable绑定到模板   在填充之前。 foreach - 指示KO渲染模板   在“foreach”模式下 - 有关详细信息,请参阅注释2。 as - 用于   与foreach结合,为每个项目定义一个别名   渲染 - 有关详细信息,请参阅注释3。

1 个答案:

答案 0 :(得分:0)

您可以查看淘汰赛模板documentation。据我所知,如果'fileToEdit'变量不为null,将呈现模板。

'myDialog'is custom binding handler。一旦div被创建,它将被初始化。