是否有任何“不显眼的淘汰赛”插件没有将数据绑定属性重新引入dom的元素? 我尝试了一些像:http://userinexperience.com/?p=633 和Jquery插件。
所有这些问题都是他们不断将数据绑定引入dom。是否有任何其他插件可以做更多的事情,就像将数据绑定放在像http://docs.jquery.com/Data
这样的expando中答案 0 :(得分:5)
淘汰赛。不引人注意的插件是我最初尝试远离data-bind
属性,并且当我创建它时,将绑定模型元素添加回DOM是我能想到的唯一合理方法。
正如Ryan在上面指出的那样,Knockout 2.0允许创建自定义绑定提供程序,用您的首选策略替换data-bind
属性。因此,我目前正在更新我的插件以提供其中一个提供程序,这将消除在运行时对DOM的任何写入。您可以在ko-v2 branch here上查看我的进度。如果您有任何意见或建议,请与我们联系。并且要注意,我只是开始使用,所以没有任何工作,但我应该在第二天左右另外提交一两个提交。
我在上面的分支机构添加了一些额外的测试和功能。当前的功能是基本的,但到目前为止满足了规避数据绑定的要求。
让我知道你的想法。这最终可能被分拆成一个新项目(Knockout.Unobtrusive关闭)
答案 1 :(得分:3)
这篇文章介绍了如何创建自己的自定义绑定提供程序:http://www.knockmeout.net/2011/09/ko-13-preview-part-2-custom-binding.html。
创建一个自定义绑定提供程序很容易,该提供程序从jQuery $ .data或expando属性保存/加载其数据(可以使用ko.utils.domData.get / set)。
绑定提供程序只需要实现nodeHasBindings
和getBindings
函数。
如果你需要进一步帮助实现这样的事情,请告诉我。
答案 2 :(得分:1)
很抱歉重新打开一个旧问题,但我正在寻找类似的东西,找不到足够灵活的东西来满足我们的需求。只花了大约30分钟来写我自己,here's我想出的。