我希望扩展对象Kinetic.Shape
(其他每个形状都扩展)以及更多属性和方法。
我试过的是
Kinetic.Util.addMethods(Kinetic.Shape, {
foo: 'bar'
});
所以说如果我创建了一个新的Kinetic.Circle
实例,它应该包含这个定义的属性(并且每个其他形状都应该这样做)。
new Kinetic.Circle(options).foo; // returns undefined
// should return 'bar'
我该如何实现这种行为?
答案 0 :(得分:0)
等待合并此拉取请求https://github.com/ericdrowell/KineticJS/pull/497。 现在你可以这样做 - 用这个替换Kinetic.Util.extend函数:
extend: function(child, parent) {
function ctor() {
this.constructor = child;
}
ctor.prototype = parent.prototype;
var old_proto = child.prototype;
child.prototype = new ctor();
for (var key in old_proto) {
if (old_proto.hasOwnProperty(key))
child.prototype[key] = old_proto[key];
}
child.__super__ = parent.prototype;
}