Javascript 在MithrilJS中,vnode如何绑定到click事件

Javascript 在MithrilJS中,vnode如何绑定到click事件,javascript,mithril.js,Javascript,Mithril.js,在Mithril.js(使用webpack)中,我需要将vnode传递给匿名函数: 怎样才能做到呢 var Button = { view:function(vnode){ return m('div',{onclick:(vnode)=> setSort(vnode)}) } } function setSort(vnode){ .... do somthing with vnode .... } 事件处理程序传递的是事件对象,而不是vnode。您已经可以通过闭包

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

怎样才能做到呢

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

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

事件处理程序传递的是
事件
对象,而不是
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)
        );
    }
});

这里有一个。

事件处理程序被传递给
事件
对象,而不是
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)
        );
    }
});
这是一个例子