在一个布局铁渲染多个模板:路由器

时间:2015-12-29 07:53:01

标签: javascript html meteor iron-router

我现在已经盯着它看了一个小时,然后把它重新打成了很多方式,但问题是我只看到了#34;社交" / sites / routing上的模板。

在流星客户端,我正在运行此代码(使用iron:router)

    Router.configure({
      layoutTemplate: 'ApplicationLayout'
    });

    Router.route('/', function () {
      this.render('welcome', {to:"main"});
    });

    Router.route('/sites/', function () {    
      this.render('social', {to:"main"});
      this.render('websiteaddform', {to:"top"});
    });

在HTML方面,这是布局模板:

<template name="ApplicationLayout">
    <header>
        {{>yield top}}
    </header>
  {{>yield main}}
</template>

肯定没有任何明显的错误,即。模板中的拼写错误,非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

这保持不变:(在客户端和服务器的Lib文件夹中的router.js中)

    Router.configure({
    layoutTemplate: 'ApplicationLayout'
  });

  Router.route('/', function () {
    this.render('welcome', {to:"main"});
  });

  Router.route('/sites/', function () {
    this.render('social', {to:"main"});
    this.render('websiteaddform', {to:"top"});
  });

在这里你忘记了&#34;引用&#34; (在applicationlayout.html文件夹/客户端中)

<template name="ApplicationLayout">
    <header>
        {{>yield "top"}}
    </header>
  {{>yield "main"}}
</template>

为了完成它,我添加了一个示例模板:(文件夹/ client / templates中的文件templates.html)

<template name="welcome">
  welcome
</template>
<template name="social">
  social
</template>

<Template name="websiteaddform">
  websiteaddform
</Template>