Meteor.js中的模板语法无法识别
Template syntax in Meteor.js is not recognized?
首先,我想说的是,我对Meteor.js没有太多经验,只是在不久前开始使用,而且不经常使用。所以,如果这个问题看起来很愚蠢或显而易见,请原谅我。
我正试图访问我的模板中的{{#each}}个助手(模板名称为目录):
{{#each teachers}}
<h1>{{name}}</h1><br />
<p>{{description}}</p>
{{/each}}
因此,为了参考这一点,我输入了以下代码:
Template.directory.teachers = function(){
}
但Meteor抛出了以下异常:"ReferenceError:未定义模板"
有人知道我在这里做错了什么吗?再次,如果答案很明显,我很抱歉。我正在运行最新的windows版本,并且我的所有软件包都已更新。感谢您的帮助:)
您的directory.html文件应该类似于以下内容:
<template name="directory">
{{#each teachers}}
<h1>{{name}}</h1><br />
<p>{{description}}</p>
{{/each}}
</template>
您的directory.js文件应该如下所示:
Template.directory.helpers({
teachers: function () {
return Teachers.find({}); // or as in your sample ['teacher1', 'teacher2'];
}
});
此错误的问题在于您正试图调用服务器上的Template对象。模板应仅存在于客户端上。所以你可以这样包装你的代码:
if(Meteor.isClient){
Template.directory.helpers({
teachers: function() {
return ['teacher1', 'teacher2']; //...
}
});
}
这不是定义助手的方式。通过将对象传递给助手函数来定义助手
Template.directory.helpers({
teachers: function() {
return ['teacher1', 'teacher2']; //...
}
});
相关文章:
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]
- jquery 1.8.0语法错误,无法识别的表达式:>
- 如何修复 jQuery 1.8“语法错误,无法识别的表达式”错误
- 错误:错误:语法错误,无法识别的表达式:
- 属性选择器不起作用(语法错误、无法识别的表达式)
- HTML 无法识别我要求它运行的 javascript 文件,语法错误:意外的令牌“<”(匿名函数)script.js:
- jQuery:语法错误,无法识别的表达式:.Marketing&通讯
- 未捕获错误:语法错误,无法识别的表达式:ajaxsample/update_agenda(CodeIgniter)
- Meteor.js中的模板语法无法识别
- Javascript无法识别的语法
- Jquery语法错误,id选择器上的表达式无法识别
- 文本处理-识别代码语法
- 未捕获错误:语法错误,无法识别表达式Jquery选择器单引号与双引号
- Javascript:语法错误,无法识别的表达式:
- 语法错误,无法识别的表达式:选项 [值 = 属性名称]
- 如何在jQuery中修复此错误未捕获异常:语法错误,无法识别的表达式:语法错误,无法识别的表达式:标签
- 未捕获的错误:语法错误,无法识别的表达式:输入:复选框[名称=ninja_forms_field_57[术语]]
- 未捕获的错误:语法错误,无法识别的表达式:“.b-brand-box”
- Javascript语法识别