我有一组来自mongo的_id的客户端,我想知道如何使用路由器将所有这些客户端(一次性)路由到一个页面?
示例:3个用户登陆名为" game"的页面,当有3个人时,我有一个保存用户ID的数组,所有用户的ID都保存在数组中应该被路由到另一个页面(例如:"第2页和第34页;)。我知道这应该从服务器端的角度来看,但我很难想出这个。
//client
Template.GameLayout.onRendered(function () {
var ses = Session.get("loggedIn");
Meteor.call('userCounter', ses, function(error, fullArray){
if(error && error.error === "noArray"){
console.log(error);
console.log("I have error");
} else {
if(fullArray){
var usersArray = fullArray[1];
var randomGen = fullArray[0];
console.log(randomGen);
}
}
})
//server
userCounter: function(sessions){
usersArray.push(sessions);
var usersConnected = usersArray.length;
if(!usersConnected){
throw new Meteor.Error("noArray");
console.log("oops heres the problem");
} else {
if(usersConnected > 2){
var randomGen = Math.floor(Math.random() * 9999999) + 1;
var fullArray = [randomGen, usersArray];
console.log(fullArray);
return fullArray;
usersArray =[];
}
}
}
答案 0 :(得分:0)
我个人会在客户端的Tracker.autorun()
中执行此操作,例如:
Tracker.autorun(function(){
if ( ... condition that you want to re-route on ... ){
Router.go('page2');
}
});
您的阵列必须以某种类型的集合发布,例如活动游戏,以便客户端可以相应地执行其逻辑和路由。