Rah*_*u86 2 javascript d3.js dart polymer
我正在尝试学习Web开发并选择Dart作为一种继续进行的方式(坦率地说没有其他原因,除了它对我来说更有意义,来自Python/Java背景!).我感兴趣的一件事是可视化和科学编程(我每天都使用Python堆栈进行工作和娱乐).我正在尝试用聚合物,Dart和D3.js构建一个基本应用程序(在工作时自学).有人可以给我一个完整的基本步骤.特别是如何正确地包含像d3.js这样的外部库?
小智 8
就像D3.js这样的外部库适当而言,你只需要将它作为脚本包含在HTML中(在头部或关闭body标签之前).D3.js库当然需要在dart代码之前包含在HTML中,因此Dart可以看到它.
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="yourDartApp.dart" type="application/dart"></script>
Run Code Online (Sandbox Code Playgroud)
然后,在Dart脚本的顶部,导入名为dart:js的库
import 'dart:js';
Run Code Online (Sandbox Code Playgroud)
之后,每个顶级JS对象(在窗口范围内)都可供您使用
context['someJSObject'];
Run Code Online (Sandbox Code Playgroud)
它返回一个dart的JsObject实例
要在该JsObject上调用方法,可以使用callMethod方法.要从D3.js站点重写示例
d3.selectAll("p").style("color", function() {
return "hsl(" + 10 * 360 + ",100%,50%)";
});
Run Code Online (Sandbox Code Playgroud)
它在Dart看起来像这样
context['d3'].callMethod('selectAll', ['p']).callMethod('style', ['color',
new JsFunction.withThis((jsThis) {
// You are writing Dart code, which will be translated into JS here
return "hsl(" + 10 * 360 + ", 100%, 50%)";
})
]);
Run Code Online (Sandbox Code Playgroud)
我建议你看看Dart的JsObject和JsFunction API,以便更好地理解如何使用Dart中的JS.
虽然我无法帮助你.尚未尝试过.
归档时间: |
|
查看次数: |
1506 次 |
最近记录: |