我正在尝试找到执行某些JavaScript的最佳方法,这是我的视图功能的一部分。在视图函数中,我想创建一个canvas对象,然后执行一个本机函数,该函数根据我的模型向其中插入一些数据。各个部分似乎很容易编写,但是我不确定如何将它们粘合在一起。
如果我只是将本机调用插入到我的视图代码中,则可能必须生成一些HTML(例如,一个空的div)才能满足类型系统的要求。也许这是正确的做法,但感觉有些。有没有更好,更惯用的方式?我是否还在以正确的榆木方式思考这个问题?
我发现最好的方法是在主模块中为此创建一个邮箱:
messageMailbox : Signal.Mailbox String
messageMailbox =
Signal.mailbox ""
然后创建一个端口以监听来自该邮箱的信号:
port messsagePort : Signal String
port messsagePort =
messageMailbox.signal
在Js中,您预订以下端口:
app.ports.messsagePort.subscribe(function (args) {
...
})
然后,您可以从视图或更新功能向该邮箱发送消息(如果有更新,则效果如下):
Signal.send messageMailbox.address message
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句