Javascript 无法在canvas.loadFromJSON上设置统一的笔划宽度?

Javascript 无法在canvas.loadFromJSON上设置统一的笔划宽度?,javascript,canvas,fabricjs,Javascript,Canvas,Fabricjs,因此,我指定了Rect,如: addRect() { let square = new fabric.Rect({ width: 20, height: 30, stroke:"yellow", strokeWidth:10, left: 50, top: 50, strokeUniform:true, fill:"rgba(0,0,0,0.2)",

因此,我指定了Rect,如:

addRect() {
    let square = new fabric.Rect({
      width: 20,
      height: 30,
      stroke:"yellow",
      strokeWidth:10,
      left: 50,
      top: 50,
      strokeUniform:true,
      fill:"rgba(0,0,0,0.2)",
      flipX:true
    });
    this.canvas.add(square);
  }

在画布上,我得到了如下内容:

我临时保存画布数据:

saveData() {
    let jsonData = JSON.stringify(this.canvas);
    localStorage.setItem('data', jsonData);
    this.dataPreview.nativeElement.value = jsonData;
  }

然后我将这些数据加载回画布:

loadData() {
    let jsonData = localStorage.getItem('data');
    this.canvas.loadFromJSON(
      jsonData,
      () => {
        this.canvas.requestRenderAll();
        this.dataPreview.nativeElement.value = jsonData;
      },
      this.onDataLoadFailed
    );
  }
我在画布上看到这样的东西:


我该如何解决这个问题?我认为问题可能是因为JSON数据没有任何strokeUniform属性的值,strokeUniform属性已从中注释

解决方法是将属性作为


哇,效果很好,非常感谢!
console.log(JSON.stringify(canvas.toJSON("strokeUniform")));