我正在使用这个简单的搜索项目https://github.com/matteodem/meteor-easy-search
我的搜索索引
EasySearch.createSearchIndex('searchIndex', {
'collection' : blog,
'field' : ['title', 'tags'],
'limit' : 20,
"use":"mongo-db",
'query' : function (searchString) {
// Default query that will be used for searching
var query = EasySearch.getSearcher(this.use).defaultQuery(this, searchString);
return query;
}
});
现在我有搜索框,当用户输入内容并点击输入时我想要路由到搜索页面
this.route("search",{
path:'/search/:slug',
waitOn:function(){
//here I want the search data to be sent to search page
var query=this.params.slug;
EasySearch.search('searchIndex', query, function (err, data) {
console.log(data);
});
},
data:function(){
}
});
在这个路由器中我想将searchIndex数据发送到搜索页面,如何做到这一点
我的点击事件
'submit .search':function(e){
e.preventDefault();
var quer=$("#query").val();
// Router.go('search');
}
更新
我的主要问题是路由器waiton函数如何在回调中获取数据并将其发送到搜索页面?
答案 0 :(得分:2)
在您的点击事件处理程序中,您已注释掉该行:Router.go('search')。
如果你写
Router.go('search',{slug:quer})
这会将您带到搜索页面,其中包含从页面收集的查询数据,如果这是您想要的。