我正在尝试通过js.dart使用带有Dart的paper.js。
很多似乎都有用,但我还需要paper.js中的方法importSVG
。当我尝试使用js.context.paper.project.importSVG(query("#svg"));
访问它时,我得到NoSuchMethodError
。这是因为该方法被注入到项目中 - 参见下面的paper.js代码。
如何从Dart访问importSVG
方法?
/* paper.js */
new function() {
function importSVG(node, clearDefs) {
// ...
}
Item.inject(/** @lends Item# */{
/**
* Converts the passed node node into a Paper.js item and adds it to the
* children of this item.
*
* @param {SVGSVGElement} node the SVG DOM node to convert
* @return {Item} the converted Paper.js item
*/
importSVG: function(node) {
return this.addChild(importSVG(node, true));
}
});
Project.inject(/** @lends Project# */{
/**
* Converts the passed node node into a Paper.js item and adds it to the
* active layer of this project.
*
* @param {SVGSVGElement} node the SVG DOM node to convert
* @return {Item} the converted Paper.js item
*/
importSVG: function(node) {
this.activate();
return importSVG(node, true);
}
});
};
答案 0 :(得分:0)
你的Dart电话似乎是正确的。对该问题的评论往往表明paper.project.importSVG
的javascript导入/声明存在问题。
答案 1 :(得分:0)
这很奇怪。你能告诉我你使用的是什么版本的库吗?它应该在顶部的通信中以及paper.version变量中说明这一点。