即使模板已定义,流星中的模板引用错误

Template reference error in meteor even if Template is already defined

即使我已经在我的 html 中定义了模板,我仍然收到此错误,我遗漏了一些东西。 Error in my console

index.html

<template name="navbar">
  <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
       <a class="navbar-brand" href="#">TextCircle</a>
       <ul class="nav navbar-nav">
         <li>
            <a href="#" class="js-add-doc">
             <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
              new Document
            </a>
         </li>

       </ul>
       <p class="navbar-text navbar-right">{{> loginButtons}}</p>
     </div>
   </nav>
</template>

main.js

Template.navbar.events({
     "click .js-add-doc":function(event){
        event.preventDefault();
         console.log("add new doc");
      }
});

我错过了什么?

您的 main.js 文件正在服务器端(或服务器端和客户端)加载,但是 Template 仅在客户端可用。更多信息,请阅读this.
此外,由于 Meteor 1.3 建议按照 this example.

构建您的应用程序

试试吧,或者把你的文件放到流星结构的客户端文件夹中。

if(Meteor.isClient){
  Template.navbar.events({
     "click .js-add-doc":function(event){
        event.preventDefault();
         console.log("add new doc");
      }
   });
}