Javascript Fabric.js:如何获取属性&x27;组中对象的值?

Javascript Fabric.js:如何获取属性&x27;组中对象的值?,javascript,canvas,fabricjs,Javascript,Canvas,Fabricjs,我正在使用Fabric.js创建绘图画布。我可以知道在组对象中是否有获取对象属性值的方法吗 例如: 我创建了一个矩形和一个文本对象,并将它们组合在一起 new fabric.group([rect1,text1],{ top:100, left:100 }); 我试过如下方法: var objsInCanvas = canvas.getObjects(); for (obj in objsInCanvas) { return objsInCanv

我正在使用Fabric.js创建绘图画布。我可以知道在组对象中是否有获取对象属性值的方法吗

例如: 我创建了一个矩形和一个文本对象,并将它们组合在一起

new fabric.group([rect1,text1],{
        top:100,
        left:100
    });
我试过如下方法:

var objsInCanvas = canvas.getObjects();
for (obj in objsInCanvas) {
    return objsInCanvas[obj].get('text')
}

但它对我来说没有文本的价值。有人能给我一个建议吗?

我还没有足够的代表对此发表评论,但我可以看到一些可能导致这种情况的因素。如果没有更多的代码,我将不得不假设一些事情

首先,在实例化一个新组时,需要将结构对象大写

var group = new fabric.Group([rect1, text1],{
  ...    
});
第二,如果没有,则需要将组添加到画布中

canvas.add(group);
我肯定你在代码里这么做了,但是呃。然后我们可以得到好东西

for循环会捕获画布上的所有对象,对吗?结果表明,如果您的对象在一个组中,那么您是在抓取该组本身,而不是其中的单个对象。您还需要遍历该组中的所有对象以从中获取任何属性

我快速地拉了一下小提琴,看看是否能让它工作。它应该让你知道你需要做什么


您可以通过item()方法访问组中的单个对象:

例如:

group.item(0).set({
  text: 'trololo',
  fill: 'white'
});  //Retrieve item(0) and sets its properties

group.item(1).setFill('red'); ////Retrieve item(1) and sets its properties

感谢您在小提琴中提供的详细示例!小提琴是一个了不起的帮助!