Meteor 如何在路由中调用方法?

Meteor 如何在路由中调用方法?,meteor,iron-router,Meteor,Iron Router,我有两种搜索方式 POST /search GET /search?q=q 对于POST,我可以在客户端使用Meteor.call 'submit form': function() { Meteor.call('search', data...... } 对于GET,如何在路由器中调用Meteor.call Router.route('/search', { template: 'ItemList', data: function() { return Meteor.

我有两种搜索方式

POST /search
GET  /search?q=q
对于POST,我可以在客户端使用
Meteor.call

'submit form': function() {
    Meteor.call('search', data......
}
对于GET,如何在路由器中调用Meteor.call

Router.route('/search', {
  template: 'ItemList',
  data: function() {
  return Meteor.call('search', this.params.query); // ???
}
关于
search
方法,它不仅可以搜索数据库,还可以搜索文件系统


我不知道如何进行第二次GET搜索。

您可以执行
Router.current().params.q
从url获取q变量


在上述方法中,您不需要data:function()。

我建议不要在路由器中进行调用。路由器负责指导操作流程,如果它同时管理所有数据和外部资源跟踪,那么它将变得更加复杂

在模板级别,您可以轻松地检测路由器参数(Router.current()),或者直接从数据部分的路由器传递它们

然后在渲染时,可以让模板点击调用函数。然后通过一些依赖项跟踪使其具有反应性