我是meteor的新手,我想知道为什么当我开始将这些文件放在我的/ client / template目录中时,myTemplate.helper没有呈现其假定的输出。这些是以下文件:
/clinent/template/body.html:
<body>
<div class="row">
<div class="col-xs-12">
<div class="list-group">
{{#each projects}}
{{> projectList}}
{{/each}}
</div>
</div>
</div>
</body>
/client/template/body.js:
Project = new Mongo.Collection("project");
if (Meteor.isClient) {
Template.body.helpers({
projects: function(){
var projects = Project.find({});
return projects;
}
});
};
/client/template/templates.html:
<template name="projectList">
<a href="#" id="{{id}}" class="list-group-item {{#if active}} active {{/if}}">
{{name}}
<i class="glyphicon glyphicon-trash pull-right del"></i>
</a>
</template>
然而,当我将body.html和body.js放在根/
目录时,它正确地渲染了ouptut。
答案 0 :(得分:1)
我想我知道问题所在。
Project = new Mongo.Collection("project");
客户端和服务器都可以使用,当您将body.js移动到客户端文件夹时,它会自动served only to client,并且会破坏应用程序。
尝试以下结构:
/client/template/body.js:
Template.body.helpers({
projects: function(){
var projects = Project.find({});
return projects;
}
});
/collections.js
Project = new Mongo.Collection("project");
请注意,在客户端文件夹中创建文件时,您不需要(Meteor.isClient)。
答案 1 :(得分:0)
我认为如果你使用
它会起作用Template.projectList.helpers
而不是
Template.body.helpers
当帮助程序用于模板时,您必须放置模板名称而不是正文。