【发布时间】:2018-01-04 23:32:23
【问题描述】:
编辑 3:代码现在可以跨多个对象工作(感谢 Noam),他还帮助让随机函数与它一起工作。一旦实现,我将更新问题中的代码。
编辑 2:我接受了@Noam Almosnino 的回答,现在正尝试将其应用于包含大量对象的数组(未成功)。这是Remix 链接。请帮忙!
编辑:我收到了一些反馈,发现this 页面讨论了使用 JSON.parse 函数。我已经编辑了代码以反映新的变化,但我仍然无法弄清楚到底缺少什么。
原文:我认为this 之前的答案有助于我尝试解析 json 文件并返回一个随机字符串及其相关对(例如 Title-Platform),但我无法让它工作。我的目标是将输出渲染为场景中的文本项。我真的很喜欢使用 A-frame,但很难找到可以在这方面帮助我的文档。我尝试使用以下修改后的脚本从 Json 文件中获取文本...
AFRAME.registerComponent('super', { // Not working
schema: {
Games: {type: 'array'},
jsonData: {
parse: JSON.parse,
stringify: JSON.stringify}
},
init: function () {
var el = this.el;
el.setAttribute('super', 'jsonData', {src:"https://cdn.glitch.com/b031cbf1-dd2b-4a85-84d5-09fd0cb747ab%2Ftrivia.json?1514896425219"});
var hugeArray = ["Title", "Platform",...];
const el.setAttribute('super', {Games: hugeArray});
el.setAttribute('position', {x:-2, y:2, z:-3});
}
});
在我的 html 中也设置了触发器来呈现文本。我的代码正在通过 glitch.com 进行处理,我们将不胜感激!
【问题讨论】:
-
JavaScript 区分大小写。在上面的示例中,您声明了变量
el并在下面使用大写E引用El。 -
那里的第 8 行还有一个错误的 const。
-
您的字符串数组也被错误地声明了。应该是
var hugeArray = ["string1", "string2", ...]; -
@Diego Marcos 谢谢。我更正了大小写不匹配,但我对“var”声明感到困惑,如果我使用“string1”、“string2”等,我应该将 JSON 文件的 URL 引用放在哪里?
-
@AquaVitae 谢谢。您能帮我正确声明第 8 行中的 const 吗?