【发布时间】:2016-11-07 13:55:40
【问题描述】:
我有一个本地 JSON 文件,其中包含我的所有 Enum 键值对,并希望将它们加载到我可以轻松使用的数组中。
枚举.json
{
"AbsenceCode": {
"E": "Excused",
"U": "Unexcused"
},
"ActiveInactive": {
"A": "Active",
"I": "Inactive"
},
"AuthenticationLog": {
"1": "Staff",
"2": "ParentAccess",
"3": "StudentAccess"
},
"YesNo": {
"0": "Yes",
"1": "No"
}
}
在我的 Javascript 代码中,我想将所有键值对加载到一个数组或对象中,以便我轻松访问它们,最终目标是 (a) 进行值查找和 (b) 创建选择框.
我开始了这样的事情,但我并没有正确地围绕它进行思考,并且有点不确定是否应该使用数组或对象来完成,以及 JavaScript 是否允许执行此操作所需的数组类型。
// load enumData
var enumKeys = $.getJSON("enum.json", function(json) {
var array = [];
for (var key in json) {
var item = json[key];
for (var keyvalue in item) {
var value = item[keyvalue];
}
array.push(parsed[key])
}
});
// test enumData
console.log(enumKeys["YesNo"]);
// lookup value of key
console.log(enumKeys["AbsenceCode"]["U"]);
在我的 Aurelia 模板中,我想要这样的东西:
<template>
<select ref="absencecode">
<option repeat.for="keyvalue of enumKeys.AbsenceCode" value="${keyvalue.key}">${keyvalue.value}</option>
</select>
</template>
我的代码受到许多其他类似案例的答案的“启发”,但我没有找到任何与这种确切情况相匹配的代码。任何帮助,将不胜感激!我应该使用什么代码来加载 enumKeys?如何使用加载的数组/对象?
【问题讨论】:
-
你能把这个放在 jsfiddle 上吗?我们很容易在那里跟踪代码..
标签: javascript arrays enums aurelia