Ich muss ein benutzerdefinierte fabricjs Objekt (sagen, Fabric.Demo), die erweitert Fabric.Group Objekt erstellen. fabric.Demo-Objekt wird verwendet, um andere zwei fabric.Group-Objekte zu gruppieren. Ich habe im Internet gesucht und nur diese Links als nützlich gefunden.Wie erstellt man ein benutzerdefiniertes fabricjs Objekt?
Aber ich immer diese Fehlermeldung 'this._objects ist nicht definiert'. Ich weiß, ich habe _render() nicht geschrieben. Aber ich verstehe das nicht in _render() zu codieren. Wenn jemand die Antwort kennt, wird es geschätzt.
Hier ist mein Code.
(function (global) {
var fabric = global.fabric || (global.fabric = {}),
extend = fabric.util.object.extend,
clone = fabric.util.object.clone;
var stateProperties = fabric.Text.prototype.stateProperties.concat();
stateProperties.push(
'top',
'left'
);
fabric.Demo = fabric.util.createClass(fabric.Group, {
type: 'demo',
initialize: function() {
this.grp = new fabric.Group([], {
selectable: false,
padding: 0
});
this.grp.add([
new fabric.Group([
new fabric.Text('A', {top: 200, left: 200}),
new fabric.Text('B', {top: 200, left: 200})
]),
new fabric.Group([
new fabric.Text('C', {top: 200, left: 200}),
new fabric.Text('D', {top: 200, left: 200})
])
]);
},
_render: function (ctx) {
}
});
})(typeof exports !== 'undefined' ? exports : this);
$(document).ready(function() {
var canvas = new fabric.Canvas('c');
var abc = new fabric.Demo();
canvas.add(abc);
});