Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在运行时创建不带数据属性的淘汰数据绑定_Javascript_Jquery_Data Binding_Knockout.js_Javascript Framework - Fatal编程技术网

Javascript 如何在运行时创建不带数据属性的淘汰数据绑定

Javascript 如何在运行时创建不带数据属性的淘汰数据绑定,javascript,jquery,data-binding,knockout.js,javascript-framework,Javascript,Jquery,Data Binding,Knockout.js,Javascript Framework,是否可以仅从javascript创建敲除绑定,即不编写自定义html属性 我非常坚持使用现有的标记,无法添加knockout.js所依赖的数据绑定等(html是以编程方式生成的,无法访问渲染管道,请假设我在尝试时已用尽了所有选项:) 我正在尝试的一个想法是在调用ko.applyBindings之前,在运行时添加数据绑定属性。有没有更好的方法?如果它也实现了类似于knockout.js的绑定,那么我也会接受一个替代的、有充分文档记录的/流行的/稳定的框架。如果knockout允许我们创建自定义绑定

是否可以仅从javascript创建敲除绑定,即不编写自定义html属性

我非常坚持使用现有的标记,无法添加knockout.js所依赖的
数据绑定
等(html是以编程方式生成的,无法访问渲染管道,请假设我在尝试时已用尽了所有选项:)


我正在尝试的一个想法是在调用
ko.applyBindings
之前,在运行时添加
数据绑定
属性。有没有更好的方法?如果它也实现了类似于knockout.js的绑定,那么我也会接受一个替代的、有充分文档记录的/流行的/稳定的框架。如果knockout允许我们创建自定义绑定提供程序,我发现有几个lib可以帮到您

你可以在这里找到它们:

一个完全不使用DOM的:

使用另一种方法的人:

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

查看淘汰文档中“进一步技术”下的“不引人注目的事件处理”部分。

淘汰3.0(即将发布,现在正在候选版本中)打开,例如预处理节点和动态生成绑定的能力。看一看,看看一些可能的例子。在这和前面提到的和绑定提供程序之间,使用任何标记都不会有问题


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

我不知道该如何使用它-它似乎提供了一种只委托交互处理程序的不显眼的方式(
单击
等)与全套knockout.js绑定相反,包括
data bind=“value:where”
和条件。我遗漏了什么吗?这不是答案。这是一个答案的方向,只要Knockout不改变页面的内容。unobtrusivebindingprovider看起来很有用,尽管活动非常有限(FTFY:它确实使用DOM,但它不使用标记进行数据绑定,这正是我想要的)Punchs看起来很有用。尽管如此,我还是开始相信我所追求的是一个真正的击倒型反模式——这意味着我实际上无法控制MVVM模式的“VM”部分:(更具体地说,您无法控制视图,视图是MVVM的V部分。我认为这种方法肯定是一种不太理想的方法——我认为您也意识到了这一点。但是如果您真的无法修改HTML,那么您别无选择,只能做一些不寻常的事情。