所以我在流星网站上做排行榜示例,但不是我开始使用的预定义数据,我想创建一个新名称和分数,当有人创建帐户时它会自动出现在屏幕上,所以此时我得到了名称只有在我创建帐户并点击浏览器上的刷新按钮后屏幕上的分数,我想要做什么才能不必点击刷新按钮并且用户登录名和分数会自动出现在屏幕?
我想以某种方式使用 deps.flush() 或 meteor.render 吗?
服务器.js
// newUser Method
Meteor.methods({
newUser: function() {
var user = Meteor.user();
userVar = {
name: user.username,
score: 0
};
Players.insert(userVar);
}
});
客户端.js
Deps.autorun(function() {
Meteor.call('newUser');
});
Template.leaderboard.players = function () {
return Players.find({}, {sort: {score: -1, name: 1}});
};
Template.leaderboard.selected_name = function () {
var player = Players.findOne(Session.get("selected_player"));
return player && player.name;
};
Template.player.selected = function () {
return Session.equals("selected_player", this._id) ? "selected" : '';
};
Template.leaderboard.events({
'click input.inc': function () {
Players.update(Session.get("selected_player"), {$inc: {score: 5}});
}
});
Template.player.events({
'click': function () {
Session.set("selected_player", this._id);
}
});