将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控件),那么如果您将新行为实现为自定义,那么您的工作会更容易绑定而不是