Meteor - 基于收集价值的新行?

时间:2014-09-07 01:44:56

标签: javascript html css meteor handlebars.js

我试图创建一个结果,如果指定了集合中的值,例如" New Row"我创建了一个新标签。

问题是如果我使用帮助器,我可以将Start DIV包装在Handle bar helper函数中。与DIV的孩子分开。

        {{#each myPostImages}}
        New Row: {{#if newrow}}
        <div class="row postee">    
                        <div class="col-xs-8 middlePost">
                   <img src={{url}}>
                </div>
            </div>
        </div>                      
        {{/if}}



        {{/each}}

有些时候我可以做什么不输出,有时候我希望集合中的下一个值包含在同一行.....?

我试图创建这个结果:

        <div class="row postee">    
                <div class="col-xs-8 middlePost">
                   <img src={{url}}>
                </div>
                <div class="col-xs-8 middlePost">
                   <img src={{url}}>
                </div>
                    <div class="col-xs-8 middlePost">
                   <img src={{url}}>
                </div>
            </div>
        </div>                      
        <div class="row postee">
                <div class="col-xs-8 middlePost">
                   <img src={{url}}>
                </div>
        </div>

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式解决

你的档案.httml

 <template name="myPost">    
       {{#each myPostImages}}
        New Row: 
          {{#if newrow this}}
             <div class="row postee">  
               {{#each this.url}}
                  <div class="col-xs-8 middlePost">
                      <img src={{this}}>
                  </div>
               {{/each}}
             </div>
          {{else}}
             ....
          {{/if}}
        {{/each}}
 </template>

您的档案.js

  Template.myPost.helpers({
       'newrow': function(newrow){
          // new row is this in your template, this contain all attributes,
          // you can return anything you want, remember that the condition 
          // if require true or false
          return ...
       },
       'myPostImages':function(){
          // return array of collection
          var model= Collection.find({}).fetch(); 
          // you can create an array in your new model 
          model.url= []; 
          return model;
       } 
    })