在Mithril中使用jQuery UI函数

Adr*_*ian 3 mithril.js

我是Mithril JS框架的新手,我喜欢它的渲染性能.轻量级是一个优点,但我想使用jQuery UI,以便我可以从其一些功能,如可拖动的交互中受益.根据我的理解,jQuery UI和Mithril都操纵DOM元素.如果是这样,在Mithril中使用jQuery UI有多实用?

Leo*_*rie 6

你的问题有点开放,但要给出一个有用的答案:秘密模板实际上不会触摸DOM,直到你调用m.render,m.modulem.route.执行此操作时,diff引擎会根据需要创建或更新元素以镜像模板的结构.您可以config在模板中使用以获取真正的DOM元素,并在它们上运行jQuery/jQuery UI:

function draggable(element, isInitialized) {
  if (!isInitialized) $(element).draggable()
}

var module = {}
module.controller = function() {
  this.greeting = "Hello"
}
module.view = function(ctrl) {
  m("div", {config: draggable}, ctrl.greeting)
}

m.module(document.body, module)
Run Code Online (Sandbox Code Playgroud)