首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor,使用Iron-Router进行动态路由

Meteor,使用Iron-Router进行动态路由
EN

Stack Overflow用户
提问于 2014-06-25 23:16:13
回答 1查看 1.4K关注 0票数 0

我们正在开发一个聊天应用程序,我们现在正在支持多个房间。因此,我正在尝试弄清楚如何设置iron-router来正确地支持这一点。我设想的工作方式是,当用户创建一个房间时,会有一个推送到存储所有房间列表的数据库。也就是说。

rooms = {roomlist: ['room1', 'room2' ...]}

现在在Iron-Router中,我希望有一个如下所示的路由

代码语言:javascript
复制
Router.map(function () {
  this.route('chatroom', {
    path: '/chatroom/:room_name'
  });
});

并且路由器仅允许:room_name与数据库中的一个房间列表相匹配的路由。这是可能的吗?我如何设置它?

EN

回答 1

Stack Overflow用户

发布于 2014-06-26 01:18:14

我会有一个像这样的房间集合

代码语言:javascript
复制
Rooms = new Meteor.Collection("rooms");

然后,当你插入一个新的房间时,给它一个名字。

别忘了发布你的单人房

代码语言:javascript
复制
Meteor.publish("singleRoom", function(room_name){
    return Rooms.find({name: room_name});
})

然后在你的路线中使用

代码语言:javascript
复制
Router.map(function () {
  this.route('chatroom', {
    path: '/chatroom/:room_name',
    waitOn: function(){
        return Meteor.subscribe("singleRoom", this.params.room_name);
    },
    data: function(){
        return Rooms.findOne({name: this.params.room_name});
    }
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24412543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档