javascript - 在mithril-js中,vnode如何绑定(bind)点击事件

标签 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 ....
}

最佳答案

事件处理程序传递的是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 .

关于javascript - 在mithril-js中,vnode如何绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49474306/

相关文章:

javascript - Mithril : difference between vnode. 属性和 vnode.state

sass - compass 不适用于 Mithril 自耕农发电机

javascript - 如何测试当前是否正在播放声音?

javascript - 与表达式连接的空格有时会被删除

javascript - 访问和评估 jQuery 插件中的配置值

HTML5 + Jscript with JQuery, setInterval 问题

Javascript - Mithril 嵌套组件

javascript - 固定大小的文本(覆盖浏览器缩放功能)

javascript - Mithril 组件不返回任何内容

javascript - 为什么 m.module 不会导致我的视​​图在 Mithril 中重新渲染?