Meteor Uncaught TypeError:无法读取属性' helpers'未定义的

时间:2017-09-21 06:41:10

标签: javascript database meteor

我已经遵循了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;
&#13;
&#13;

1 个答案:

答案 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;模板,可以包括另一个   儿童模板。