Javascript 使用fabric js时获取画布对象

Javascript 使用fabric js时获取画布对象,javascript,jquery,html5-canvas,fabricjs,Javascript,Jquery,Html5 Canvas,Fabricjs,我使用Fabric.js,在一个地方创建了一个Fabric画布对象 var x = new fabric.Canvas("mycanvas"); 现在在另一个地方,我想访问这个“x”不可用的对象。那么,如何获得相同的织物画布对象呢 我不想改变x的作用域或将x作为arg传递 另外,如何从fabric画布对象获取toDataURL?假设mycanvas是画布元素的ID,您可以将对fabric对象的引用存储在画布元素本身上: var x = new fabric.Canvas("mycanvas")

我使用Fabric.js,在一个地方创建了一个Fabric画布对象

var x = new fabric.Canvas("mycanvas");
现在在另一个地方,我想访问这个“x”不可用的对象。那么,如何获得相同的织物画布对象呢

我不想改变x的作用域或将x作为arg传递


另外,如何从fabric画布对象获取toDataURL?

假设
mycanvas
是画布元素的ID,您可以将对fabric对象的引用存储在画布元素本身上:

var x = new fabric.Canvas("mycanvas");
document.getElementById("mycanvas").fabric = x;
然后,您可以随时使用以下工具检索该对象:

var y = document.getElementById("mycanvas").fabric;
var url = y.toDataURL("png", 1);

如果不提供引用,则无法访问它。这就是作用域的工作原理。y是结构画布对象,因此您需要以不同的方式使用toDataURL