2

是否可以仅从 javascript 创建淘汰赛绑定,即无需编写自定义 html 属性?

我非常坚持我们现有的标记并且无法添加data-bindknockout.js所依赖的等(html是以编程方式生成的并且无法访问渲染管道,请假设我已经用尽了我的尝试:)

我暂时追求的一个想法是data-bind在调用之前在运行时添加属性ko.applyBindings。有首选方法吗?如果它还实现了类似于 knockout.js if/的绑定,我也会接受一个替代的、有充分记录的/流行的/稳定的框架visible

4

3 回答 3

2

Knockout 允许我们创建自定义绑定提供程序,我发现有几个库可以帮助您做到这一点

你可以在这里找到它们:

一个根本不使用 DOM:

https://github.com/tobio/knockout.unobtrusivebindingprovider

使用另一种方法的方法:

https://github.com/rniemeyer/knockout-classBindingProvider

最后,如果它们都不适合您的需求,您可以使用 jQuery 修改 DOM,然后在其上调用绑定...

于 2013-10-07T05:06:19.450 回答
2

Knockout 3.0(指日可待,现在处于候选版本中)开辟了更多与绑定过程交互的方式,例如预处理节点和动态生成绑定的能力。查看Knockout.Punches以了解一些可能的示例。在这与已经提到的诸如不显眼的和绑定提供程序之间,您应该可以轻松地使用您所坚持的任何标记。

还可能值得指出的是,knockout 有一个 applyBindingsToNode 函数,如果您想要完全控制,它会接收绑定的 JSON 对象,尽管它不会将绑定应用于后代元素。

于 2013-10-15T19:46:28.120 回答
-1

查看 Knockout 文档中“其他技术”下的“不显眼事件处理”部分。

于 2013-10-07T17:10:51.070 回答