我需要知道每次在流星js中单击按钮时都会动态更改主体模板。例如,我的应用程序中总共有3个模板。

  1. 一个模板是标题模板
  2. 第二个是侧面菜单模板
  3. 另一个是内容模板

每当单击菜单项时,仅通过使用路由器软件包更改为内容模板,而不转到新页面。因此,请建议我该怎么做?

提前致谢。

#1楼 票数:1

使用路由器的布局和等级功能可以做到这一点。 如本awesom教程中所定义:http://www.manuel-schoebel.com/blog/iron-router-tutorial

在Meteor中,我们仅渲染和重新渲染dom的一部分,而并不总是渲染整个对象。 作为示例,我们希望有一个布局,该布局指定菜单,页脚和显示主要内容的区域。

这给出了这种HTML

<template name="complexLayout">
 <div class="left">
    {{> yield region="menu"}}
  </div>


  <div class="main">
    {{> yield}}
  </div>
  <div class="bottom">
    {{> yield region="footer"}}
  </div>
</template>

在此模板中,Iron-Router呈现了三个区域。一个名为“ Main-Yield”的区域,两个名为“ menu”和“ footer”的“ Named-Yields”或“ Regions”。 如果我们要指定要在哪里渲染的模板,则名称很重要。 现在,我们希望Iron-Router使用我们的布局,并将模板“ myMenu”渲染为名称为“ menu”的良品,并将模板“ myFooter”渲染为名为“ footer”的良品。

this.route('home', {
  path: '/',
  layoutTemplate: 'complexLayout',
  yieldTemplates: {
    'myMenu': {to: 'menu'},
    'myFooter': {to: 'footer'}
  }
});

使用此功能,所有路由(或目标路由)可能具有相同的布局,并且仅更改了某些部分,具体取决于当前页面。 不要忘记,可以使用Router.configure函数设置默认值。

Router.configure({
  layoutTemplate: 'complexLayout',
  notFoundTemplate: 'notFound',
  loadingTemplate: 'loading'
});

这样做将使开发人员可以定义要在应用程序的不同状态下使用的默认布局。

  ask by user2344293 translate from so

未解决问题?本站智能推荐:

1回复

Meteor.js铁路由器和类似或动态路由

我正在尝试为我的网站上的管理部分构建动态路由,以便“/ admin”和“/ admin / users”以及“/ admin / users / add”等工作。 我尝试了一些不同的组合,但仍然在努力解决这个问题。 以下是我尝试过和不同的事情。 理想情况下,如果我可以指定“/ admi
1回复

流星:发布中使用Meteor._sleepForMs()时,铁路由器未显示加载模板

我对Meteor相当陌生,并且遇到一个问题,即铁路由器在“ waitOn”功能期间未显示我的加载模板。 我正在使用Meteor._sleepForMs(2000)模拟页面发布中的网络滞后。 延迟很明显,但是直到页面加载,我才得到一个空白模板。 我的印象是,加载模板将一直显示到“ wai
1回复

使用return语句中的数组在流星中使用铁路由器动态加载js内容

我想通过在流星中使用铁路由器来加载属于指定模板的js内容。 return语句返回纯文本-对于带有某些html语句的数组,它没有用。 如何通过在Template.info.helpers中将以下数组与以下html语句一起使用来返回它? .js文件 html的
2回复

铁路由器不会在Meteor中呈现模板

我已经为流星应用程序安装了大气包iron:router。 我正在尝试添加一条简单的路线,如下所示: 我定义了一个模板: 然后将yield-字段添加到我的layoutTemplate中: 但是当我转到'/' ,仍然看不到模板的任何内容。 另外,当我尝试使用其他模板添
1回复

通过路由器在Meteor中填充模板

我有一个流星应用程序。 我创建了一个集合Messages 。 我正在使用以下命令在服务器上发布消息 我正在用iron-router : 使用此功能,我可以使用data: ...但是我仍然需要在messages.js使用一个助手来实际获取数据: 现在,我准备将模板中
1回复

Meteor.js:铁:包括名称的路由器

在教程中,我发现了使用iron:router的两种方法: 第一: 第二个: 我想在第一个代码中添加name属性; 我尝试将其添加到differentenet位置,但似乎无济于事。 我应该放在哪里,或者没有办法将两者结合起来? 在这种情况下,如何引用根目录(在pathF
2回复

在铁路由器中使用查询参数修改模板

我正在尝试根据我的查询字符串参数中发送的值向列表项添加一个类,但是我无法计算出事物的运行顺序并将数据传递到正确的位置。 在我的模板中,我有以下片段 在我的客户端JavaScript我有以下路由器配置: 哪个调用函数setReview: 最后一个函数被调用但无法正常工
3回复

使用铁路由器的Meteor中的Google Analytics

我试图让Google Analytics与Iron Router配合使用 在lib/analytics.js我有以下代码(从分析中的代码页粘贴): 然后,在client/router.coffee是以下代码: 但这似乎没有奏效。 我该如何解决这个问题? 编辑添加: