1

在我的 Meteor 应用程序中,我试图将数据从 Iron Router 控制器传递到一个模板,该模板是我的应用程序的一部分。如何在不更改路径的情况下激活路线?我不想切换页面,只用我的数据渲染部分(如果有意义的话)。

这是该应用程序的工作方式:

现在,当我单击导航栏中的下拉链接时,该路线被激活

Template.navbar.events
  'click #threads-link': (event)->
    Router.go 'allThreads'

只要我的路线中有路径,就会使用我的数据呈现模板。但是因为我不想改变路径,所以我尝试离开路径——然后模板不会从我的控制器中检索数据!

Router.map ->
  @route "allThreads",
    controller: ThreadsController 

您知道如何在不更改路径的情况下让我的模板部分访问控制器中的数据吗?提前致谢!

4

1 回答 1

1

首先,您可能会看到一些问题,因为最新版本的 Iron Router 要求您使用 Meteor v0.8.0。如果您使用的是以前版本的 Meteor,则需要使用较旧的 Iron Router (0.6)。

要在 ThreadsController 中自定义渲染,您可以覆盖操作函数,或者您可以定义一个钩子。然后,您可以调用 render 方法来渲染您想要的任何模板。这是一个例子:

ThreadsController = RouteController.extend({
  action: function () {
    // Example 1. render this controller's default template and all yields
    this.render();

    // Example 2. render myTemplate into the main yield
    this.render('myTemplate');

    // Example 3. render templates into yield regions
    this.render('myFooter', {to: 'footer'});
  }
}); 
于 2014-04-01T04:00:37.933 回答