1

我正在使用出色的 RubyMotion 框架和 ProMotion gem 堆栈构建一个 iOS 应用程序。

我想PM::WebScreen在我的 iPhone 上显示一个图表。我在内容方法中引用了一个 HTML 文件,并且在我的资源文件夹中有 (1) HTML 文件、(2) 我的自定义 JS 方法文件、(3) 我的 JS 图表库 (HighCharts) 和 (4) jQuery。这一切都很好。

我可以在我的 PM::WebScreen 文件中为图表创建数据数组(我从对外部源的 API 调用中获取数据。)使用输入的静态数据可以很好地呈现图表。

问题

我想将我的数据数组传递给我的自定义 JS 文件,让它用动态数据绘制图表。我怎样才能做到这一点?

我不想从我的 JS 进行 ajax 调用,因为我可能想在我的 RubyMotion/ProMotion 代码的其他地方使用该数组。

如果我可以将数据传递给 HTML 文件,我想我可以使用 jQuery 从那里将其提取到 JS。

请指教。谢谢!

4

1 回答 1

1

您可以使用 webview 方法stringByEvaluatingJavaScriptFromString。例如,如果您的 html 中包含一个 JS 函数,该函数将loadDatadata作为参数,您可以这样做

在你的 JS 中:

function loadData(data) {
// do something with your data
   $("#chart").show();
}

在 RM 中:

data = dataFromSource
webView.stringByEvaluatingJavaScriptFromString('loadData(' + data +')')
于 2014-08-02T13:16:20.273 回答