【问题标题】:fabricjs subclassing objects are not groupedfabricjs 子类化对象未分组
【发布时间】:2014-06-21 02:06:47
【问题描述】:

请看下面的链接。

请运行示例代码。

1 个矩形 - 分组。成功。

  1. 单击 addRect 两次。 (显示两个矩形)
  2. 拖动并选择两个对象。
  3. 点击组按钮。
  4. 成功组对象。

2 子类化对象 - 失败。

  1. 点击 addLabeledRect 两次(显示两个子类对象) - 只是带有文本的矩形
  2. 拖动并选择两个对象。
  3. 点击组按钮。
  4. 控制台上显示失败和错误消息。

子类对象不转换为组对象?

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

我使用 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

【问题讨论】:

标签: javascript fabricjs


【解决方案1】:

克隆对象缺少子类成员的问题。

对于一个简单的解决方法,添加这个:

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

在定义你的对象之后。

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    相关资源
    最近更新 更多