流星未捕获类型错误:无法读取未定义的属性'helpers'



我遵循了Meteor.com的指示,但是我遇到了这个错误。我还将其更改为 template.registerHelper ,但似乎没有输出响应。

main.js:8个未经许可的typeerror:无法阅读未定义的属性"帮助者" 在main.js(main.js:8) 在FileValuate(模块 - runtime.js?hash = 8587d188e038b75ecd27Ed2469A52B269E38FB62:343) 在需要(模块 - runtime.js?hash = 8587D188E038B75ECD27ED2469A52B269E38FB62:238) 在app.js?hash = 08534f7c7b3f0963300e61b8d521d38ce05c92: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>

有问题的行是由错误消息暗示的Template.main.helpers

发生这种情况,因为您没有main模板。要么使用您想要的HTML创建一个,它应该在<Template>标签中:

<Template name="main">
<!-- HTML -->
</Template>

,或者您可以将目标的模板更改为Template.body,因为您使用的辅助器当前位于您的身体中。

相关教程部分:

标签内部的所有内容都被编译为流星模板, 可以将其包含在HTML中,并使用{{> templateName}}或 使用template.templateName在JavaScript中引用。另外, 可以在JavaScript中使用Template.Body在JavaScript中引用身体部分。 将其视为特殊的"父"模板,可以包括其他模板 儿童模板。

相关内容

最新更新