[英]Template syntax in Meteor.js is not recognized?
首先,我想提一下,我對Meteor.js並不需要太多的經驗,只是前一陣子就開始使用,並且不經常使用它。 因此,如果這個問題看起來很愚蠢或顯而易見,請原諒我。
我正在嘗試訪問模板中的{{#each}}幫助程序(模板名稱為directory):
{{#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']; //...
}
});
}
那不是您定義助手的方式。 通過將對象傳遞給helpers函數來定義helper
Template.directory.helpers({
teachers: function() {
return ['teacher1', 'teacher2']; //...
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.