我正在使用精彩的RubyMotion框架和ProMotion gem堆栈构建iOS应用程序。
我想在iPhone上PM::WebScreen
显示图表。我在content方法中引用了一个HTML文件,并且有(1)HTML文件,(2)我的自定义JS方法文件,(3)我的JS图表库(HighCharts),以及(4)我的资源文件夹中的jQuery。所有这一切都很好。
我能够在PM :: WebScreen文件中为图表创建数据数组(我从API调用获取数据到外部源。)图表可以很好地输入静态数据。
问题
我想将数据数组传递给我的自定义JS文件,以便使用动态数据绘制图表。我怎么能这样做?
我不想从我的JS调用ajax,因为我可能想在RubyMotion / ProMotion代码中的其他位置使用该数组。
如果我可以将数据传递给HTML文件,我想我可以使用jQuery从那里将它提取到JS。
请指教。谢谢!
答案 0 :(得分:1)
您可以使用webview方法stringByEvaluatingJavaScriptFromString
。例如,如果您的html中包含一个名为loadData
的JS函数,它将data
作为参数,那么您可以这样做
在你的JS中:
function loadData(data) {
// do something with your data
$("#chart").show();
}
在RM:
data = dataFromSource
webView.stringByEvaluatingJavaScriptFromString('loadData(' + data +')')