javascript - 选择索引 0 处的数组对象时出现问题

标签 javascript

我有一个数组(当前有 1 个项目),打印结果如下:

enter image description here

控制台图像是 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/

相关文章:

javascript - 将 react-markdown 与 Material-UI 表一起使用

javascript - 使用 jquery 的远程图像属性

javascript - Angular ui-router动态地为所有状态添加解析功能

javascript - Math.js 访问矩阵中的单个元素

javascript - 在 ReactJS 上处理好 onClick

javascript - jQuery 在单击菜单以外的任何位置时隐藏下拉菜单

javascript - JSON Stringify 未在 <pre> 标记中正确缩进

javascript - 如何仅模糊背景而不模糊 Ionic/CSS 中的内容

javascript - Angular:在FormGroup中定义默认值输入FormField

javascript - 如果单击父级,则无法限制将焦点集中在子级上