【问题标题】:Adding id and custom attribute in fabric js在fabric js中添加id和自定义属性
【发布时间】:2016-03-26 11:00:20
【问题描述】:

我是fabtric js的新手。如何将自动生成的 id 和自定义属性添加到 fabric js 对象。 例如,我想添加一个 id,该 id 使用对象类型和类别的增量整数自动生成:添加对象时为 'new'

据我所知,fabric js 默认不支持这个。

var text = new fabric.IText('Enter text here', {
        id: 'text-i' -> where i increment according to number of IText in the canvas
        left: 150,
        top: 50,
        type: 'new'
    });

【问题讨论】:

    标签: fabricjs


    【解决方案1】:

    实现此目的的一种方法是在画布中设置一些额外的对象:

    canvas.ObjectCounter = {};
    

    然后将所有提示添加到它:

    canvas.ObjectCounter.['text'] = 0;
    canvas.ObjectCounter.['rect'] = 0;
    canvas.ObjectCounter.['i-text'] = 0;
    

    等等……

    创建对象时:

    var text = new fabric.IText('Enter text here', {
            id: 'text-' + canvas.objectCounter['i-text']++,
            left: 150,
            top: 50
    });
    

    请注意,“类型”是一个需要保持原样的属性,不要更改它。

    如果您这样处理,这将只是创建的对象数。 如果你想知道他们中有多少在画布上,你必须在事件中使用不同的东西

    canvas.on('object:added', function(e){});
    canvas.on('object:removed', function(e){});
    

    【讨论】:

    • 我认为除了那些预定义的之外,我们不能简单地直接向fabric js添加任何自定义属性?
    • 您应该小心不要覆盖任何已定义的内容,并且不要期望这些新属性会自动与对象保存和恢复一起使用
    猜你喜欢
    • 2018-08-05
    • 2021-08-09
    • 2012-07-10
    • 1970-01-01
    • 2020-07-02
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多