我已经遵循了meteor.com的指示,但是我收到了这个错误。我还要把它改成 template.registerhelper ,但似乎没有输出响应。
main.js:8 Uncaught TypeError:无法读取属性' helpers'未定义的 在main.js(main.js:8) 在fileEvaluate(modules-runtime.js?hash = 8587d188e038b75ecd27ed2469a52b269e38fb62:343) at require(modules-runtime.js?hash = 8587d188e038b75ecd27ed2469a52b269e38fb62:238) 在app.js?hash = 08534f7c8c7b3f0963300e61b8d521d38ce05c92:90
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import './main.html';
PlayersList = new Mongo.Collection('players');
if(Meteor.isClient) {
Template.main.helpers({ "player" : function(){
return PlayersList.find();
},
});
}
if(Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}

<head>
<title>leaderboard</title>
</head>
<body>
{{> hello}}
<ul>
{{#each player}}
<li>{{name}}: {{score}}</li>
{{/each}}
</ul>
</body>
<template name="hello">
<h1>LeaderBoard</h1>
</template>
&#13;
答案 0 :(得分:2)
有问题的行是Template.main.helpers
,正如错误消息所示。
这是因为您没有main
模板。使用您想要的html创建一个,它应该在<Template>
标记内:
<Template name="main">
<!-- HTML -->
</Template>
或者您可以将目标模板更改为Template.body
,因为您使用的帮助程序目前位于您的身体中。
相关教程部分:
标签内的所有内容都被编译成Meteor模板, 可以使用{{&gt; templateName}}或 使用Template.templateName在JavaScript中引用。而且, 可以使用Template.body在JavaScript中引用body部分。 把它想象成一个特殊的父母&#34;模板,可以包括另一个 儿童模板。