在meteor中如何为不同的房间创建具有唯一URL的多厅应用程序?

时间:2013-02-05 17:54:25

标签: node.js meteor

我已经有了基本聊天室(单页),但是当我浏览到我的URL时,我想生成一个独特的聊天室。例如。用户浏览chatroom.com并被重定向到chatrooom.com/room1,然后他/她可以与朋友分享该网址与之聊天。我该怎么做呢?

1 个答案:

答案 0 :(得分:6)

你需要一个路由器,你可以使用骨干或我个人最喜欢的流星路由器(通过meteorite安装):

mrt install router

在您的客户端js

//In your chat query add something to localise your chat messages for your room e.g (if you're using handlebars):

Template.messages.message = function() {
    //assuming messages contains your collection of chats
    return messages.find({room:Session.get("room")}) //get the room name set in the router
};

对于您的路由器(也在客户端js中):

Meteor.Router.add({
  '/': 'home',
  '/rooms/:id': function(id) {
     Session.set("room",id); //set the room for the template
     return "messages"; //If you're template is called messages
  },
  '*': 'not_found'

});

因此,如果您要加载/rooms/lobby,则只会加载room值为lobby的邮件。

此处有关于meteor路由器的更多文档:https://github.com/tmeasday/meteor-router