Meteor中没有显示模板的数组
我有以下数组作为示例:
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”中查找所有内容:
Template.body.helpers({
mqttmessages2() {
console.log(myarray);
return myarray;
}
});
问题是,模板没有显示任何内容,我一直在寻找问题,但似乎无法弄明白,控制台显示没有错误,所以我在这里丢失。
回答如下:首先,您的数组是无效的语法。我猜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中会立即中断
Meteor中没有显示模板的数组
我有以下数组作为示例:
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”中查找所有内容:
Template.body.helpers({
mqttmessages2() {
console.log(myarray);
return myarray;
}
});
问题是,模板没有显示任何内容,我一直在寻找问题,但似乎无法弄明白,控制台显示没有错误,所以我在这里丢失。
回答如下:首先,您的数组是无效的语法。我猜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中会立即中断