我有一个数组(当前有 1 个项目),打印结果如下:
控制台图像是 console.log(objects) 的结果,但我需要该数组中的第一项,因此我尝试选择索引 0 处的对象,但这不起作用,并且在控制台中打印为“未定义” ' 使用以下代码:
var objects = wpd_editor.canvas.getObjects();
console.log(objects[0]);
最佳答案
根据 @shanzilla 的回答,您可能需要等到所有内容都加载完毕(包括 Fabric.js 模块和您可能正在做的任何绘图),然后再尝试检查是否存在某些内容。不确定如何加载 Fabric.js 代码或何时绘制 Canvas ,但检查这是否是问题的一种快速而肮脏的方法是将该日志包装在超时中:
setTimeout(function () {
var objects = wpd_editor.canvas.getObjects();
console.log(objects[0]);
}, 1000)
这对您来说可能不是一个可持续的解决方案,但它会让您知道,在您等待的那一秒钟,一些关键的事情正在发生,特别是页面的加载和渲染。对于更可持续的解决方案,如下所示,它使用 Fabric.js's events API等待 Canvas 渲染,可能会起作用:
wpd_editor.canvas.on('after:render', function() {
var objects = wpd_editor.canvas.getObjects();
console.log(objects[0]);
});
关于javascript - 选择索引 0 处的数组对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598446/