0
我是很新,流星所以这可能是也可能不是正确的行为,虽然我不知道如何“修复”做什么,我希望的例子。流星 - 刷新后排序仅
我创建一个聊天室的应用程序,学习流星,当我添加消息到“聊天室”消息发送全部找到,但不排序,以正确的顺序,直到后,我刷新页面。这些消息全部存储在一个包含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>
此图片刷新之前。 这就是我想在每次发送消息时自动发生。