如何在 fabric.Image() 中添加自定义内容

anj*_*war 2 fabricjs

我正在尝试使用以下建议的方式在服务器中存储画布:

Fabric.js - 如何使用自定义属性在服务器上保存画布

但就我而言,我正在从一个 url 加载图像,例如:

fabric.Image.fromURL(url, function(image) {
   image.alt = product.skuId;
   image.productClass = product.productClass;
   canvas.add(image);
 }, {
   crossOrigin: "Annoymous"
});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在数据库中存储相同的属性时,不会存储较新的属性。

有没有办法在数据库中存储自定义属性(甚至“alt”)?

编辑:

用我尝试过的方法创建了一个小提琴:https : //jsfiddle.net/anjhawar/dpyb7cf7/

当我们按保存时,画布被转储到本地存储中,但是当我们检查“objects”数组时,我们没有得到自定义属性,即“id”和“alt”,如示例所示。

我错过了什么吗?

Mul*_*han 5

这是我存储自定义属性(id)的解决方案。

fabric.Image.fromURL(link, function(img) {
    img.set({
        id : 'image_'+index,
        width : canvas.width / 2,
        height : canvas.height / 2
    });
    canvas.add(img).renderAll().setActiveObject(img);
});
Run Code Online (Sandbox Code Playgroud)

为了快速查看这里是一个工作代码:http : //jsfiddle.net/mullainathan/dpyb7cf7/1