Javascript 如何获得';关键词';在domain.com/keyword中使用Iron路由器

Javascript 如何获得';关键词';在domain.com/keyword中使用Iron路由器,javascript,meteor,iron-router,Javascript,Meteor,Iron Router,我在一个网站上工作,在那里我必须在DB中搜索根域上/后面的字符串。我在文档中找不到关于它的任何信息。 我正试图让它与铁路由器工作,但任何其他建议都会解决 谢谢你的帮助 编辑:基本上我只想把domain.com/之后的任何内容传递给一个变量。这是我一直在做的事情,也许它会引导你走上正确的道路 路由将URLparams发送到ownedGroupList模板 Router.route('/users/:_id/groups', { name: 'owned.group.list', t

我在一个网站上工作,在那里我必须在DB中搜索根域上/后面的字符串。我在文档中找不到关于它的任何信息。 我正试图让它与铁路由器工作,但任何其他建议都会解决

谢谢你的帮助


编辑:基本上我只想把domain.com/之后的任何内容传递给一个变量。

这是我一直在做的事情,也许它会引导你走上正确的道路

路由将URL
params
发送到
ownedGroupList
模板

Router.route('/users/:_id/groups', {
    name: 'owned.group.list',
    template: 'ownedGroupList',
    data: function() {
        return {params: this.params};
    }
});
Template
ownedGroupList
可以使用
访问
参数
对象。数据
位于
已创建的
已呈现的
已呈现的
模板事件处理程序中

Template.ownedGroupList.onCreated(function(){
    this.subscribe("owned-groups", this.data.params._id );
});
Template.ownedGroupList.events({
    'click .a-button': function(event, template) {
        var group = Groups.findOne({owner: template.data.params._id });
        // do something with group
    }
});
模板
ownedGroupList
可以通过帮助器方法中的
this
变量访问
params

Template.ownedGroupList.helpers({
    groups: function() {
        return Groups.find({owner: this.params._id });
    }
});
Template
ownedGroupList
可以通过事件处理程序中的
Template.data
变量访问
params

Template.ownedGroupList.onCreated(function(){
    this.subscribe("owned-groups", this.data.params._id );
});
Template.ownedGroupList.events({
    'click .a-button': function(event, template) {
        var group = Groups.findOne({owner: template.data.params._id });
        // do something with group
    }
});

这里有一个简单的路线,应该做到这一点

Router.route('/:keyword', {
    name: 'keyword',
    template: 'keywordTemplate',
    data: function() {
        return this.params.keyword;
    }
});
这将把关键字作为数据上下文传递给模板,然后您可以使用它执行任何操作。或者,您可以直接在路由器中执行搜索(特别是如果您将关键字传递给订阅,以便搜索在服务器上运行)。例如:

Router.route('/:keyword', {
    name: 'keyword',
    template: 'keywordTemplate',
    waitOn: function(){
      return Meteor.subscribe('keywordSearch',keyword);
    },
    data: function() {
        return MyCollection.find();
    }
});
第二种模式将把关键字发送到名为
keywordSearch
的订阅,该订阅将在服务器上执行。当订阅准备就绪时,路由的
数据
功能将运行,传递到
关键字模板
的数据上下文将是
MyCollection

中提供的任何文档和字段
?请在您的帖子中添加您对问题的任何其他信息。避免在评论中添加此内容,因为它们更难阅读,也更容易删除。请在问题中添加新信息,而不是将其作为评论添加。请在您的问题中添加您已披露的新信息(这将防止信息被轻易删除,并增加潜在回答者看到它的机会)。请用信息发布的注释来回答您的问题,尤其是在发布错误消息时,因为注释中的格式不允许代码块,这使它们更难阅读。