我在一个网站上工作,在这个网站上,我必须在DB中搜索根域中/之后的字符串。我在文档中找不到任何关于它的东西。我正在尝试让它与Iron Router一起工作,但任何其他建议都会奏效。
谢谢你的帮助!
编辑:基本上,我只想将domain.com/之后的所有内容传递给一个变量。
发布于 2015-10-20 05:32:39
这是我一直在做的事情,也许它会指引你走上正确的道路
路由将URL params发送到ownedGroupList模板
Router.route('/users/:_id/groups', {
name: 'owned.group.list',
template: 'ownedGroupList',
data: function() {
return {params: this.params};
}
});模板ownedGroupList可以在onCreated、onRendered和onDestroyed模板事件处理程序中使用this.data访问onRendered对象
Template.ownedGroupList.onCreated(function(){
this.subscribe("owned-groups", this.data.params._id );
});模板ownedGroupList可以通过助手方法中的this变量访问params
Template.ownedGroupList.helpers({
groups: function() {
return Groups.find({owner: this.params._id });
}
});模板ownedGroupList可以通过事件处理程序中的template.data变量访问params
Template.ownedGroupList.events({
'click .a-button': function(event, template) {
var group = Groups.findOne({owner: template.data.params._id });
// do something with group
}
});发布于 2015-10-20 09:46:21
这里有一条简单的路线,应该可以做到这一点
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的订阅。当订阅就绪时,路由的data函数将运行,传递给keywordTemplate的数据上下文将是MyCollection中提供的任何文档和字段。
https://stackoverflow.com/questions/33221354
复制相似问题