我对流星很新,所以这可能是也可能不是正确的行为,虽然我不确定如何“修复”这个例子来做我想做的事情。
我正在创建一个聊天室应用程序,以学习Meteor,当我向“聊天室”添加消息时,所有消息都会发送,但在刷新页面之前不会排序到正确的顺序。这些消息都存储有时间戳,该时间戳保存值Date.parse();
router.js
Router.configure({
layoutTemplate: 'layout',
notFoundTemplate: 'notFound',
loadingTemplate: 'loading'
});
Router.map(function () {
this.route('home', {
path: '/',
template: 'home'
});
this.route('room', {
path: '/room',
template: 'room',
waitOn:function(){
return [Meteor.subscribe('rooms'),
Meteor.subscribe('messages')];
},
data: function() {
//console.log(Rooms.find().fetch())
return {roomUsers: Rooms.find(),
userMessages: Messages.find({},{sort: {timestamp: 'desc'}})};
},
action: function(){
if(this.ready()){
this.render();
console.log(Rooms.find({userId:Meteor.userId()}).count());
if(Rooms.find({userId:Meteor.userId()}).count() < 1){
console.log("This happens");
Rooms.insert({username: Meteor.user().emails[0].address,roomId: 1,userId:Meteor.userId()});
}
}
}
});
});
room.html
<template name="room">
<div class="col-xs-10 chatMain">
<div class="row">
<div class="col-xs-12 chatContainer">
{{#each userMessages}}
<div class="message">
<div class="uname">
{{username}}
</div>
<div class="text">
{{message}}
</div>
</div>
{{/each}}
</div>
<div class="col-xs-12 colRem">
<div class="chatbox">
<form>
<textarea type="text" id="message"></textarea>
<button>Send!</button>
</form>
</div>
</div>
</div>
</div>
<div class="col-xs-2 chatUsers">
<ul>
{{#each roomUsers}}
<li>{{username}}</li>
{{/each}}
</ul>
</div>
</template>
此图像在刷新之前。 这就是我希望每次发送邮件时自动发生的事情。
答案 0 :(得分:0)
我想出了问题,不知怎的,客户端上的日期是NaN虽然在服务器端产生了正确的时间戳,但我只是使用了以下问题来解决我的问题,