我正在为我的项目使用这个简单的搜索 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函数中我们如何获取回调中的数据并将其发送到搜索页面?
最佳答案
在您的点击事件处理程序中,您已注释掉以下行:Router.go('search')。
如果你写
Router.go('search', {slug: quer})
如果您想要的话,这会将您引导至搜索页面,其中包含从该页面收集的查询数据。
关于javascript - Meteor 轻松搜索和 Iron-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107638/