请任何人帮我创建cytoscape js lib的渲染器扩展。
以下是它现在的工作方式:
let CanvasRenderer = cytoscape('renderer', 'canvas');
CanvasRenderer.prototype.drawPolygonPath = function(context, x, y, width, height, points) {
// my implementation goes here
}

正如它在cytoscape site上所说,它是一个可扩展的库!当我在我的项目中使用typescript时,我想要这样的东西:
class MyRenderer {
constructor() {
}
}
cytoscape('renderer', 'myRenderer', MyRenderer);

此代码显然会抛出cytoscape错误,表示我没有实现某些方法......
然后我找到了一个扩展名cytoscape-css-renderer,它不适用于我的cytoscape版本(我使用的是2.7.13) 我也尝试解决类似于cytoscape-css-renderer的这个问题:
let CanvasRenderer = cytoscape('renderer', 'canvas');
class MyRenderer {
constructor(options) {
CanvasRenderer.call(options);
}
}
MyRenderer.prototype = Object.create(CanvasRenderer.prototype);
MyRenderer.prototype.constructor = MyRenderer;
$.extend(PricingRenderer, CanvasRenderer);
cytoscape('renderer', 'myRenderer', MyRenderer);

但它会抛出此错误:
无法为myRenderer
注册renderer
,因为clientFunctions
已存在于原型中且无法覆盖
所以有人可以帮我解决这个问题......谢谢!
答案 0 :(得分:0)