【发布时间】:2015-04-21 12:33:45
【问题描述】:
在画布上创建对象后,我正在尝试在 fabric.js 中初始化一个子类。我定义了以下子类:
var Route = fabric.util.createClass(fabric.Path, {
type: 'routePath',
initialize: function(options) {
options || (options = {});
this.callSuper('initialize', options);
},
});
然后,我监听对象创建,并希望将创建的 fabric.Path 转换为我的 Route 子类的实例:
canvas.on('object:added', function(options) {
var createdObject = options.target;
var route = new Route(createdObject.toObject());
});
上面的代码似乎不起作用。如果我在创建 route 变量后检查它,它不具有 createdObject 所具有的任何属性。似乎所有设置都显示为默认值。
编辑
更简单地说,我只是想为我的Route 类之一创建一个新实例。我传入了一个width 选项,以测试新创建的对象是否包含该宽度:
var testRoute = new Route({width: 150});
alert(testRoute.getWidth()); //alerts 0
为什么宽度是 0 而不是 150?我创建Route 子类的方式有问题吗?
【问题讨论】:
标签: javascript fabricjs