fabricjs子类化对象未分组

时间:2014-04-11 08:10:54

标签: javascript fabricjs

请参阅以下链接。

请运行示例代码。

1个矩形 - 分组。成功。

  1. 点击两次addRect。 (显示两个矩形)
  2. 拖动并选择两个对象。
  3. 点击群组按钮。
  4. 成功组对象。
  5. 2子类化对象 - 失败。

    1. 单击addLabeledRect两次(显示两个子类化对象) - 只显示带文本的矩形
    2. 拖动并选择两个对象。
    3. 点击群组按钮。
    4. 在控制台上失败并显示错误消息。
    5. 子类化对象不会转换为组对象吗?

      我用子类化对象和矩形测试了组对象。 当矩形分组很好,但子类化对象不是。

      我使用v1.4.4

      错误消息如下。

      Uncaught TypeError: undefined is not a function fabric-1.3.7.js:10702
          fabric.Object.fabric.util.createClass.renderfabric-1.3.7.js:10702
          fabric.Group.fabric.util.createClass._renderObjectfabric-1.3.7.js:15504
          fabric.Group.fabric.util.createClass.renderfabric-1.3.7.js:15477
          fabric.StaticCanvas.fabric.util.createClass._drawfabric-1.3.7.js:5751
          fabric.StaticCanvas.fabric.util.createClass._renderObjectsfabric-1.3.7.js:5879
          fabric.StaticCanvas.fabric.util.createClass.renderAllfabric-1.3.7.js:5850
          fabric.Collection.addfabric-1.3.7.js:181
          (anonymous function)GroupSubclassing.html:71
          x.event.dispatchjquery-2.0.3.js:4676
          y.handle
      

1 个答案:

答案 0 :(得分:1)

克隆对象缺少子类成员时出现问题。

要获得简单的解决方法,请添加以下内容:

LabeledRectangle.fromObject = function (object) {
    return new LabeledRectangle(object);
};

定义对象后。