我有以下数组作为示例:
var myarray = [
device1: [ name:device1 ,
variables: [ variable1: [ name: variable1,
unit: "a unit",
value: "a value"
],
variable2: [ name: variable2,
unit: "a unit",
value: "a value"
]
]
],
device2: [ name:device2 ,
variables: [ variable1: [
name: variable1,
unit: "a unit",
value: "a value"
]
]
]
]
我试图在模板上显示它:
<body>
<div class="container">
<header>
<h1>MQTT Device Status List</h1>
</header>
<ul>
{{#each mqttmessages2}}
{{> mqttmessage2}}
{{/each}}
</ul>
</div>
</body>
<template name="mqttmessage2">
<li>{{name}} :
<ul>
{{#each variables}}
<li>{{name}} : {{value}} [ {{unit}} ] </li>
{{/each}}
</ul>
</li>
</template>
数组由模板助手传递,我传递它来测试模板,稍后它将被数据库读取和一个函数替换,该函数将在“myarray”中查找所有内容: / p>
Template.body.helpers({
mqttmessages2() {
console.log(myarray);
return myarray;
}
});
问题是,模板什么都没显示,我一直在寻找问题,但似乎无法弄明白,控制台没有显示任何错误,所以我在这里丢失了。
答案 0 :(得分:1)
首先,您的数组不是有效的语法。我猜测deviceN
,variables
和variableN
是对象,而不是更多数组?
像这样:
var myarray = [
{
name: device1,
variables: [
{
name: variable1,
unit: "a unit",
value: "a value"
},
{
name: variable2,
unit: "a unit",
value: "a value"
}
]
},
{
name: device2,
variables: [
{
name: variable1,
unit: "a unit",
value: "a value"
}
]
}
];
通过上述内容,您的其余代码应该可以正常呈现。
我很惊讶您没有收到任何错误,如果我将您的数据粘贴到devtools中会立即中断