mithril-js中vnode如何绑定点击事件

In mithril-js, how can vnode bind to click event

在Mithril.js(使用webpack)中,我需要将vnode传递给匿名函数:

如何做到?

var Button = {
  view:function(vnode){
    return m('div',{onclick:(vnode)=> setSort(vnode)})
  }
}

function setSort(vnode){
  .... do somthing with vnode ....
}

事件处理程序通过 event 对象,而不是 vnode。您已经可以通过闭包访问 vnode,它作为第一个参数传递给您的 view 方法。

const Button = {
    view(vnode) {
        return m("button", {
            onclick() {
                console.log(vnode);
            }
        }, "Button");
    }
};

m.mount(document.body, {
    view() {
        return m("div",
            m(Button)
        );
    }
});

这里是 running example on flems.io