如何在模板中使用Meteor的Spacebar助手?

时间:2015-08-17 21:29:10

标签: templates meteor

使用meteor,我试图填充模板中的任务列表。这将使任务正常:

<body>
  <div class="container"> 
    <ul>
      {{#each tasks}}
        {{> task}}
      {{/each}}
    </ul>
  </div>
</body>

这是一个单独的模板task.html

<template name="task">
  <li>{{text}}</li>
</template>

但是一旦我将它包装在一个主页模板中,以便我可以适当地路由它,它就不再出现了:

<template name="home">
    <body>
      <div class="container"> 
        <ul>
          {{#each tasks}}
            {{> task}}
          {{/each}}
        </ul>
      </div>
    </body>
</template> 

这是为什么?下面是客户端js,masterLayout模板和router.js。

  Template.body.helpers({
    tasks: [
      { text: "This is task 1" },
      { text: "This is sk 2" },
      { text: "This is task 3" }
    ]
  }); 

<template name="masterLayout">
  {{> yield region='nav'}}
  <div id="content">
    {{> yield}}
  </div>
  {{> yield region='footer'}}
</template>


Router.map(function() {
    this.route('home', {
        path: '/',
    });
    this.route('private');
    this.route('testing');
});

1 个答案:

答案 0 :(得分:0)

我明白了。您需要将中间字home更改为您引用的模板。 https://www.meteor.com/tutorials/blaze/templates

  Template.home.helpers({
    tasks: [
      { text: "This is task 1" },
      { text: "This is sk 2" },
      { text: "This is task 3" }
    ]
  });