だから私は流星のサイトでリーダーボードの例をやっていますが、最初に定義済みのデータの代わりに、誰かがアカウントを作成したときに画面に自動的に表示される新しい名前とスコアを作成したいので、この時点で名前を取得しますアカウントを作成してブラウザの更新ボタンを押した後にのみ画面にスコアが表示されるのですが、更新ボタンを押す必要がなく、ユーザーのログイン名とスコアが自動的にブラウザに表示されるようにするにはどうすればよいですか?画面?
どうにかして deps.flush() や meteor.render を使いたいですか?
サーバー.js
// newUser Method
Meteor.methods({
newUser: function() {
var user = Meteor.user();
userVar = {
name: user.username,
score: 0
};
Players.insert(userVar);
}
});
client.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);
}
});