使用meteor创建html下拉菜单

时间:2016-11-21 11:33:11

标签: html templates meteor meteor-blaze


我正在尝试使用meteor创建一个html下拉菜单 我创建了一个select元素,然后使用帮助器尝试在下拉列表中列出省名。这是 main.html

<template name="signup">   
    <select>
        {{#each province}}
            {{> provinceTemplate}}
        {{/each}}
    </select>
</template>

<template name="provinceTemplate">
    <option>{{provinceName}}</option>
</template>

这是 main.js

Template.body.helpers({
  province:[
    {provinceName: 'Tehran'},
    {provinceName: 'Isfahan'},
    {provinceName: 'Yazd'},
    {provinceName: 'Shiraz'},
    {provinceName: 'Kerman'},
  ],
});

我只是使用帮助器来塑造下拉列表 但是当我运行它时,select标签内部没有任何内容。

谢谢你们......

3 个答案:

答案 0 :(得分:0)

试试这段代码:

Template.body.helpers({
  province() {
    return [
      {provinceName: 'Tehran'},
      {provinceName: 'Isfahan'},
      {provinceName: 'Yazd'},
      {provinceName: 'Shiraz'},
      {provinceName: 'Kerman'},
    ];
  },
});

答案 1 :(得分:0)

您是否在<select>内拨打<body>?这应该有效:

<强> main.html中

<body>

<select>
  {{#each province}}
  {{> provinceTemplate}}
  {{/each}}
</select>

</body>

<template name="provinceTemplate">
  <option>{{provinceName}}</option>
</template>

<强> Main.js

Template.body.helpers({
  province:[
    {provinceName: 'Tehran'},
    {provinceName: 'Isfahan'},
    {provinceName: 'Yazd'},
    {provinceName: 'Shiraz'},
    {provinceName: 'Kerman'},
  ];
});

答案 2 :(得分:0)

我找到了答案......你不应该在另一个模板中调用模板({{&gt; TemplateName}})......一旦我从第一个模板中取出代码,它就开始工作了。 以下代码是错误的......

    <body>
        {{> firstTemplate}}
    </body>

    <template name="firstTemplate">
        ...
        {{> secondTemplate}}
        ...
    </template>

    <template name="secondTemplate">
        ...
    </template>

以下代码有效......

<body>
    ...
    {{> secondTemplate}}
    ...
</body>
<template name="secondTemplate">
    ...
</template>