为qooxdoo对象的所有成员提供外部脚本

时间:2014-08-22 14:36:10

标签: javascript d3.js qooxdoo

所以我一直在使用d3库的qooxdoo框架中创建一个Web应用程序。目前,需要使用d3库的每个函数都是这样的:

myFunction : function() {
    var req = new qx.bom.request.Script();
    req.onload = this.myActualFunction(); //calls function when script loads
    req.open("GET","http://d3js.org/d3.v3.js" );
    req.send();
}

对于许多不同的函数*,必须调用脚本加载器似乎很冗长。我们可以并且最终可能会切换到使用本地目录中的d3。尽管如此,似乎很多时候您希望使用脚本加载器来使脚本可用于比较对象的每个成员函数。有什么事我能做到吗?如果我像变量一样传递脚本加载器,这是否意味着在范围内具有它的每个函数都可以访问库?

手册对此主题似乎没有太大帮助。

*我认为qooxdoo会安排缓存脚本 - 虽然我对编译版本中脚本加载器的处理方式没有具体了解,但它似乎相当不错。但是我没有具体了解脚本加载器在编译版本中的处理方式。

1 个答案:

答案 0 :(得分:0)

处理外部库的最佳方法是创建一个Qooxdoo包装器,它将成为依赖关系管理过程中的一等公民。 Qooxdoo在内部使用这种方法,例如, SizzleMustache等。幸运的是,已经有a contribution for D3。虽然你可以毫不费力地制作自己的包装纸。

您也可以使用add-script将库“链接”到文档中,但我发现这种方式大多不利。