【问题标题】:Meteor template not working/blank page流星模板不起作用/空白页
【发布时间】:2015-11-18 19:46:28
【问题描述】:

我正在使用 Cloud9 和 Meteor 包。

我得到了创建和实施键盘模板的说明。我已按照所有说明进行操作,但是当我像这样调用模板时页面变为空白 {{> myKeypad}}

如果我这样做{{myKeypad}},页面不会变为空白,但模板不会出现。

这是我的代码:

<body>
  <h1>Week 2</h1>

<ul class="nav navbar-nav">
  <li><a class="navbar-brand">asdadsada</a></li>
  <li><a>Test1</a></li>
  <li><a>Test2</a></li>
  <li><a>Test3</a></li>
  </ul>
<br />
<br />
<br />
<button class="btn btn-default" type="submit">Button
<span class="glyphicon glyphicon glyphicon-ok"></span>
</button>

<div class="container">

  <div class="row">

    <div id="left-box" class="col-md-4">
      adadasdasd
      </div>
      <div id="right-box" class="col-md-8">
        asdasdad
        {{myKepad}}
        </div>

    </div>



  </div>

<template name="myKeypad">
  <button class="btn {{button1class}}">1</button>
  <button class="btn {{button2class}}">2</button>
  <button class="btn {{button3class}}">3</button>
  <button class="btn {{button4class}}">4</button>
  <button class="btn {{button5class}}">5</button>
  <button class="btn {{button6class}}">6</button>
  <button class="btn {{button7class}}">7</button>
  <button class="btn {{button8class}}">8</button>
  <button class="btn {{button9class}}">9</button>
</template>

</body>

这是在meteor.js中

if (Meteor.isClient) {


  // counter starts at 0
  Session.setDefault('counter', 0);

  Template.hello.helpers({
    counter: function () {
      return Session.get('counter');
    }
  });

  Template.hello.events({
    'click button': function () {
      // increment the counter when button is clicked
      Session.set('counter', Session.get('counter') + 1);
    }
  });

Session.set("button1class", "btn-default");
Session.set("button2class", "btn-default");
Session.set("button3class", "btn-default");
Session.set("button4class", "btn-default");
Session.set("button5class", "btn-default");
Session.set("button6class", "btn-default");
Session.set("button7class", "btn-default");
Session.set("button8class", "btn-default");
Session.set("button9class", "btn-default");

Template.myKeypad.helpers( {
"button1class" : function () { return Session.get("button1class")},
"button2class" : function () { return Session.get("button2class")},
"button3class" : function () { return Session.get("button3class")},
"button4class" : function () { return Session.get("button4class")},
"button5class" : function () { return Session.get("button5class")},
"button6class" : function () { return Session.get("button6class")},
"button7class" : function () { return Session.get("button7class")},
"button8class" : function () { return Session.get("button8class")},
"button9class" : function () { return Session.get("button9class")},
});


}

我不知道为什么模板没有显示/破坏网站并使其空白。

【问题讨论】:

    标签: javascript templates meteor


    【解决方案1】:

    &lt;body&gt;is considered a template。因此,您正在从另一个模板的定义中定义一个模板。这是不允许的!

    <template name="something">
      <template name="someotherthing">
        {{!-- INCORRECT --}}
      </template>
    </template>
    

    您要做的是在您的&lt;body&gt; 之外定义您的myKeypad 模板

    <body>
      <h1>Week 2</h1>
      <!-- ... -->
            {{> myKepad}}
      <!-- ... -->
    </body>
    
    
    <template name="myKeypad">
      <button class="btn {{button1class}}">1</button>
      <button class="btn {{button2class}}">2</button>
      <button class="btn {{button3class}}">3</button>
      <button class="btn {{button4class}}">4</button>
      <button class="btn {{button5class}}">5</button>
      <button class="btn {{button6class}}">6</button>
      <button class="btn {{button7class}}">7</button>
      <button class="btn {{button8class}}">8</button>
      <button class="btn {{button9class}}">9</button>
    </template>
    

    【讨论】:

    • 我将模板移到正文之外,如果我使用 >,它仍然给我一个空白页面,如果我不使用它,页面会显示但没有模板。
    • 现在出现了,不知道为什么没有,但后来出现了。谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2012-06-26
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    相关资源
    最近更新 更多