铁路由器有多个部分

时间:2015-05-28 11:55:48

标签: javascript meteor iron-router

我正在使用流星铁:路由器。

我有一个名为'multi'的模板。 所以每当我有'/ multi'或'/ multi / BSC123'这样的路径时,我想要'multi'来渲染。

到目前为止,我已经使用了像这样的数组方法

Router.route('multi',{
    path:['/multi','/multi/:_id']
});

这很好用。但是当我使用这种方法时,我的左侧导航栏没有显示“多”模板的href链接。所以除了上面的方法,任何人都可以建议我其他解决方案,我可以有两个路径和相同的模板呈现,如果存在,我也应该得到“id”。

1 个答案:

答案 0 :(得分:0)

在路由器js文件中,只需创建两个呈现相同模板的路由:

Router.route('/multi', function () {
  this.render('multi');
});

Router.route('/multi/:_id', function () {
  this.render('multi', {
    data: {
      routeid: this.params._id
    }
  });
});

在您的多重模板中:

<template name="multi">
   Path: {{pathFor 'multi'}}<br />
   ID: {{routeid}}<br />
</template>

现在,如果您访问/multi,则路径会显示为&#39; multi&#39;并且ID为空。如果您访问/multi/BSC123,则路径显示为&#39; multi&#39; ID是BSC123。