我正在构建一个iOS应用程序,使用出色的RubyMotion框架和ProMotion gem堆栈。
我想在我的PM::WebScreen
上iPhone上显示一个图表。我在content方法中引用了一个HTML文件,并且(1) HTML文件,(2)我的自定义JS方法文件,(3)我的JS图表库(HighCharts),和(4)我的资源文件夹中的jQuery。这一切都很好。
我能够在PM::WebScreen文件中为图表创建数据数组(我从API调用外部源获得数据)。在输入静态数据时,图表呈现得很好。
问题
我想把我的数据数组传递给我的自定义JS文件,让它用动态数据绘制图表。我怎么能这么做?
我不想从JS中调用ajax,因为我可能希望在RubyMotion/升级代码的其他地方使用这个数组。
如果我能够将数据传递给HTML文件,我想我可以使用jQuery从那里提取数据到JS。
请给我建议。谢谢!
发布于 2014-08-02 13:16:20
您可以使用webview方法stringByEvaluatingJavaScriptFromString
。例如,如果html中包含了一个名为loadData
的JS函数,并将data
作为参数,则可以这样做。
在你的JS中:
function loadData(data) {
// do something with your data
$("#chart").show();
}
在RM:
data = dataFromSource
webView.stringByEvaluatingJavaScriptFromString('loadData(' + data +')')
https://stackoverflow.com/questions/25065954
复制相似问题