我正在尝试将Twitter Bootstrap与Mithril一起使用。通常用Mithril包装的Bootstrap重新绘制对话框,但在"show.bs.modal"
事件的处理程序中重绘会隐藏离开背景的对话框。即使使用setTimeout
也无法解决,jquery.on("shown.bs.modal", () => setTimeout(m.redraw, 2000));
应该提供不同的执行上下文。为什么以及如何解决?
这是一个简单的PoC。
要点:https://gist.github.com/173210/8c84966696276f1bfa3e298edb53da2b
Rawgit(工作演示):https://rawgit.com/173210/8c84966696276f1bfa3e298edb53da2b/raw/34b0ac625962ee830d63829107eeb0473c735375/poc.html
简而言之,这不起作用。
PreviewKeyDown
答案 0 :(得分:0)
plot "outfile.dat" using 1:2
仅适用于已加载components或m.mount
的m.route
。
我对您的代码进行了一些更改: https://jsbin.com/wegeyi/edit?js,output
m.redraw
更改为m.render
,我们可以将m.mount
替换为f
。 m.redraw
selector argument className
,type
等功能的DOM属性
答案 1 :(得分:0)
已解决:m.render
会覆盖由className
更改的$(element).modal("show")
,因此您必须阻止此操作。您有两种选择:
className
之后获取$(element).modal("show")
并将其反映到模型中。className
为假时config
设置initialized
。我选择2.它看起来如下:
m("div", {
config(element, initialized) {
if (!initialized) {
element.className = "modal fade";
$(element)
.on("shown.bs.modal", () => setTimeout(m.redraw, 2000))
.modal("show");
}
}
}, conentOfTheModalDialog);