将Knockout与jQuery混合使用
我正在使用knockout.js创建一个评论系统,我在使用现有的jQuery函数进行模板操作时遇到了一些问题。
一个例子是创建日期评论。 我写了一个jQuery函数,导致数据从5-5-2012
变为2 Days ago
。 例如:
- ...
$(function(){ $(".prettyDate").prettify(); });
使用此代码,当我动态添加新注释时,日期保持为5-5-2012
格式。 还有其他一些自定义jQuery函数可以处理重复数据,这些数据现在由knockout动态创建(通常通过基于类选择)。
如何在knockout.js生成的动态数据上应用这些自定义jQuery函数?
一个选项可能是使用自定义绑定处理程序,它通过您的jQuery插件发送绑定元素,例如:
http://jsfiddle.net/mikebridge/Q9r86/4/
另一种可能是在视图模型中添加计算的observable。
如果需要在生成的DOM元素上运行一些其他自定义逻辑,则可以使用下面描述的任何afterRender / afterAdd / beforeRemove / beforeMove / afterMove回调。
来源: http : //knockoutjs.com/documentation/foreach-binding.html#note-7-post-processing-or-animating-the-generated-dom-elements
但是,请注意以下注意事项:
如果您的目标实际上是在添加新DOM元素时将其他行为附加到新DOM元素(例如,事件处理程序或激活第三方UI控件),那么如果您将新行为实现为自定义,那么您的工作会更容易绑定而不是