Meteor中没有显示模板的数组

时间:2017-12-18 17:59:18

标签: javascript arrays node.js templates 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”中查找所有内容: / p>

Template.body.helpers({
     mqttmessages2() {
                   console.log(myarray);
                   return myarray;
     }
});

问题是,模板什么都没显示,我一直在寻找问题,但似乎无法弄明白,控制台没有显示任何错误,所以我在这里丢失了。

1 个答案:

答案 0 :(得分:1)

首先,您的数组不是有效的语法。我猜测deviceNvariablesvariableN是对象,而不是更多数组? 像这样:

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中会立即中断