在Meteor中未定义会话变量

Session variable is undefined in Meteor

本文关键字:会话 变量 未定义 Meteor      更新时间:2023-09-26

当我试图在'sessions'上执行一些程序时。我已经创建了一个名为"排行榜"的项目。

执行这个排行榜显示一些"未定义"的控制台日志。知道为什么吗?

下面是我的代码:
PlayerList = new Mongo.Collection('players');
if (Meteor.isClient) {
    Template.leaderboard.helpers({
        'player': function() {
            return PlayerList.find()
        },
    });
    Template.leaderboard.events({
        'click .player': function() {
            var playerId = this._id;
            Session.set('selectedPalyer', playerId);
            var selectedPlayer = Session.get('selectedPlayer');
            console.log(selectedPlayer);
        }
    });
}

<head>
    <title>Leaderboard</title>
</head>
<body>
    <h1>Leaderboard</h1>
    {{> leaderboard}}
</body>
<template name="leaderboard">
     <ul>
         {{#each player}}
         <li class="player">{{name}}: {{score}}</li>
         {{/each}}
     </ul> 
</template>

您的Session键有一个错别字。只需将Session.set('selectedPalyer', playerId);替换为Session.set('selectedPlayer', playerId);,您就可以开始了:

PlayerList = new Mongo.Collection('players');
if (Meteor.isClient) {
    Template.leaderboard.helpers({
        'player': function () {
            return PlayerList.find();
        }
    });
    Template.leaderboard.events({
        'click .player': function () {
            var playerId = this._id;
            Session.set('selectedPlayer', playerId);
            var selectedPlayer = Session.get('selectedPlayer');
            console.log(selectedPlayer);
        }
    });
}