是否可以单独从javascript创建knockout绑定,即不编写自定义html属性?
我非常依赖现有的标记,并且无法添加knockout.js所依赖的data-bind
等等(html是以编程方式生成的,并且无法访问渲染管道,请假设我'我在尝试时已经筋疲力尽了:)
我暂时追求的一个想法是在调用data-bind
之前在运行时添加ko.applyBindings
属性。有首选方法吗?如果它还实现类似于knockout.js if
/ visible
的绑定,我也会接受另一个充分记录/流行/稳定的框架。
答案 0 :(得分:2)
Knockout允许我们创建自定义绑定提供程序,我发现有几个lib可以帮助你做到这一点
你可以在这里找到它们:
根本不使用DOM的人:
https://github.com/tobio/knockout.unobtrusivebindingprovider
使用另一种方法:
最后一种情况是,如果它们都不适合您的需求,您可以使用jQuery修改DOM然后调用它上面的绑定...
答案 1 :(得分:2)
Knockout 3.0(现在即将发布候选版本)开启了lot more ways to interact with the binding process,例如预处理节点和动态生成绑定的能力。看看Knockout.Punches,看看有什么可能的例子。在它和已经提到过的事情之间,比如unobtrusive和class绑定提供程序,你可以毫不费力地使用你所坚持的任何标记。
也许值得一提的是,knockout有一个applyBindingsToNode函数,如果你想要完全控制,它会接受绑定的JSON对象,尽管这不会对后代元素应用绑定。
答案 2 :(得分:-1)
查看“进一步技术”下的Knockout文档中的“不显眼的事件处理”部分。