6

Fabric.js ライブラリを使用して Canvas で「地図のような」アプリケーションを作成しています。私は基本的に画像を置いてから、正しい座標で画像の上に円を置きます。ドットの位置と名前は、ajax 呼び出しから受け取った JSON データとして取得されます。個々のサークルを参照して、そのサークルに関する詳細情報を取得できるようにする必要があります (各サークルには、より詳細な情報がポップアップ表示されます)。

これを行う方法を説明しているドキュメントのどこにも見つかりません。次のようにオブジェクトにIDを追加しようとしました:

tokens.add(new fabric.Circle({ radius: 25, fill: '#f55', top: 100, left: 70, id: "foo" }));

運が悪いのでそれを取得します。どんな助けでも大歓迎です。また、これはこのコミュニティとの最初のやり取りであるため、質問が十分に詳細でない場合、またはその他の問題がある場合はお詫び申し上げます。

4

2 に答える 2

0

fabric.object.prototype で属性を追加できます。したがって、次を追加します。

fabric.Object.prototype.uid = ... ;
于 2015-07-30T09:26:36.840 に答える
0

fabric.Object クラスを拡張して独自のプロパティを追加できますが、最も簡単な方法は を使用することfabric.util.Object.extend()です。必要なだけカスタム プロパティを追加し、 を使用してアクセスできますobject.toObject().id

    extend(object, prop) {
        object.toObject = ((toObject) => {
            return function () {
                return fabric.util.object.extend(toObject.call(this), prop);
            };
        })(object.toObject);
    }

その後

    this.extend(line , {
            customType:'ArrowLine',
            id:this.randomId(),
            CommentId:activeObject.toObject().id, extensionId
    });
于 2021-02-26T07:35:26.727 に答える