流星和铁路由器:动态指定模板?

时间:2014-06-16 17:21:14

标签: meteor iron-router

我在iron-router中看到的每个例子都用字符串指定模板名称。是否可以使用变量执行此操作?假设您有多条路径都使用相同的动态路径和相同的数据功能,但它们都需要不同的模板。有没有办法做到这一点,而没有为每个模板指定不同的路径(这也意味着改变我使用的路径)?

2 个答案:

答案 0 :(得分:1)

一旦发布0.8.2,即使没有Iron-Router,UI.dynamic {{1}}也应该是微不足道的。{/ 3}}。

答案 1 :(得分:1)

您可以使用自定义action function以编程方式指定模板和布局等内容。下面的示例演示了如果根据路径中的ID找到所需文档,则显示特定模板。您可以对路由和控制器使用相同的语义。

var postsController = RouteController.extend({
  waitOn: function() {
    return Meteor.subscribe('post', this.params._id);
  },
  action: function() {
    if (Posts.findOne(this.params._id)) {
      this.layout('postsLayout');
      this.render('posts');
    } else {
      this.render('notFound');
    }
  }
});