我在我的MeteorJS项目中使用Opal。
我正在想办法做Meteor.startup代码,但它似乎不起作用..
我以为这会成功的:
require 'native'
@Meteor = `Meteor`
@Meteor.startup do
puts 'Go'
end但事实并非如此。编译后的代码应该如下所示:
Meteor.startup( function() {
console.log( "GO" );
} );在JS中将函数作为参数抛出是非常正常的,我们如何在Opal中这样做呢?
发布于 2014-06-09 09:40:00
以下内容应能很好地运作:
require 'native'
@Meteor = Native(`Meteor`)
@Meteor.startup -> {
puts 'Go'
}注意,使用本机时,您传递的是lambda而不是块
发布于 2021-12-31 20:21:46
您可以按照Elia的建议使用本机(在包装JS对象的下面),或者.
@Meteor = `Meteor`
@Meteor.JS.startup do
puts 'Go'
end像X.JS.y这样的调用直接编译到X.y()。类似地,您可以访问像X.JS[:propname]这样的属性(编译为X.propname)。
https://stackoverflow.com/questions/24108690
复制相似问题