最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Meteor中没有显示模板的数组

IT培训 admin 4浏览 0评论

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;
     }
});

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

回答如下:

首先,您的数组是无效的语法。我猜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中会立即中断

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;
     }
});

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

回答如下:

首先,您的数组是无效的语法。我猜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中会立即中断

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论