簡體   English   中英

無法識別Meteor.js中的模板語法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM