流星易搜索和铁路由器

时间:2014-09-29 19:44:02

标签: javascript meteor meteorite

我正在使用这个简单的搜索项目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函数如何在回调中获取数据并将其发送到搜索页面?

1 个答案:

答案 0 :(得分:2)

在您的点击事件处理程序中,您已注释掉该行:Router.go('search')。

如果你写

  

Router.go('search',{slug:quer})

这会将您带到搜索页面,其中包含从页面收集的查询数据,如果这是您想要的。