fabric js - loadFromJSON 间歇性加载失败

问题描述 投票:0回答:0

我有一个相当简单的网络应用程序,使用 fabric js 创建和编辑图像布局。一切似乎都很好,除了有时画布有时无法正确渲染。我试图尽可能地消除一切,它似乎是 loadFromJSON 方法(或者,我已经尝试过 fabric.util.enlivenObjects,但同样的问题)。

最奇怪的是它似乎只有大约 30% 的时间失败,其中我得到的只是空画布。刷新页面,它可能有效,也可能无效。根本没有控制台错误。结构对象的 JSON 数据来自数据库,但它是静态的,直接写入页面。它从服务器加载图像,但它们很小,而且这是在我的本地机器上,所以应该不会有太大的“滞后”。

尝试这个的函数如下:

function loadCanvasFromSchema(index) {
    log('loadCanvasFromSchema, index: ' + index)

    let frame = schema.frames[index]
    var c = canvases[index]


    c = new fabric.StaticCanvas('frame' + index, {
      width: frame.width,
      height: frame.height,
      backgroundColor: frame.background
    })

    //c.setDimensions({width: '100%', height: '100%'}, {cssOnly: true})
    //log(c)
    // c.loadFromJSON(frame.fabric, c.renderAll.bind(c))
    fabric.util.enlivenObjects(frame.fabric.objects, function(objects) {
        c.add(...objects);
    })
    c.renderAll()
}

我确定这很愚蠢,但我有点迷路了。如果有人能指出我正确的方向,我将不胜感激。

javascript fabricjs
© www.soinside.com 2019 - 2024. All rights reserved.