gpt4 book ai didi

javascript - meteor 中的每个模板循环多次

转载 作者:行者123 更新时间:2023-11-30 12:14:25 24 4
gpt4 key购买 nike

我正在学习如何使用 meteor ,当我使用每个模板时,应用程序会随机循环多次。有谁知道为什么吗?

JS

PlayersList = new Mongo.Collection('players');

PlayersList.insert({name: "David" , score:0});
PlayersList.insert({name: "Bob", score: 0});;
PlayersList.insert({name: "Wesley", score: -1000});

if(Meteor.isClient){
Template.leaderboard.helpers({
player: function(){
return PlayersList.find();
}
});
}

和 HTML

<head>
<title>LeaderBoard</title>
</head>

<body>
<h1>Leaderboard</h1>

{{>leaderboard}}
</body>
<template name="leaderboard">
{{#each player}}
<li>{{name}}: {{score}}</li>
{{/each}}
</template>

最佳答案

做一个meteor reset来清除你的数据库并试试这个代码:

PlayersList = new Mongo.Collection('players');

if (Meteor.isClient) {
Template.leaderboard.helpers({
player: function() {
return PlayersList.find();
}
});
}

if (Meteor.isServer) {
Meteor.startup(function() {
// if there are no players in the database
if (PlayersList.find().count() === 0) {
PlayersList.insert({name: "David", score: 0});
PlayersList.insert({name: "Bob", score: 0});
PlayersList.insert({name: "Wesley", score: -1000});
}
});
}

在原始代码中,播放器是从客户端和服务器端插入的(没有Meteor.isServer 守卫)。每次有新的客户端连接,每次服务器启动时,都会插入一组新的播放器。

在上面的代码中,我们只在服务器启动时插入新玩家并且只有当数据库中没有玩家时。这可确保数据库在重置后仅播种一次。

关于javascript - meteor 中的每个模板循环多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com