如何在路由中调用方法?
How to call method in route?
我有两种搜索方式
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()) 或让它们直接从数据部分的路由器传递。
然后在呈现时您可以让模板点击您的调用函数。然后让它对一些依赖跟踪做出反应
我有两种搜索方式
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()) 或让它们直接从数据部分的路由器传递。
然后在呈现时您可以让模板点击您的调用函数。然后让它对一些依赖跟踪做出反应