使用助手的meteor条件html

时间:2013-09-11 07:11:28

标签: javascript meteor

新手问题在这里...我正在尝试获得一个简单的流星应用程序,但是我无法调用我的一个辅助函数(它似乎被忽略了)。

基本上我会使用稍微不同的html调用,具体取决于我是否使用了集合中的第一个项目。

我已经为从0开始的集合(seq)添加了一个序列号,在模板上创建了一个辅助函数

Template.carousel.helpers({
  sponsors: function() {
    return sponsorDocs.find();
  },
  first_sponsor: function() {
    console.log(this);
    var value = (this.seq === 0);
    if(value) {
      console.log("Got first sponsor");
    }
    else {
      console.log("Not the first sponsor");
    }

    return value;
  }
});

我正在尝试在模板中使用它,如下所示..

<template name="carousel">
<!-- Carousel
================================================== -->
<div id="tbCarousel" class="carousel slide">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    {{#each sponsors}}
      {{#if first_sponsor}}
        <li data-target="#tbCarousel" data-slide-to={{seq}} class= "active" ></li> 
      {{else}}
        <li data-target="#tbCarousel" data-slide-to={{seq}} ></li> 
      {{/if}}
    {{/each}}
  </ol>........

现在,每个都工作正常,但是first_sponsor调用似乎永远不会发生(我从来没有看到控制台日志输出......

知道为什么吗?有没有更好的方法来做到这一点(看起来有点笨拙)。

TA

彼得。

1 个答案:

答案 0 :(得分:1)

为每个li添加视觉效果。会出现1,2或两者吗?

另一种方法是让助手返回类名(活动或空白),class =“{{sponsor_class}}” 添加: 我们可能会知道正在采取虚假的道路,然后质疑为什么。一个常见的原因是JavaScript失败了。您知道您的Web浏览器控制台吗?