流星 - 模板助手参数(空格键)

时间:2015-07-21 12:18:49

标签: javascript node.js twitter-bootstrap meteor

我需要一些关于如何解决问题的想法。我有一个带有表格的以下html模板。它显示了5行,并且在每行的末尾(在最后一个td中)有一个触发引导模式(弹出窗口)的按钮。 我正在使用空格键{{#each}}来遍历所有游标,但问题在于模态。它仅显示第一行的数据,每行记录相同的数据。 这是因为每个记录的模态ID都是相同的(它是第一个,#subsPopup)。我需要以某种方式为每一行传递不同的ID,例如#subsPopup{{var}}。不知道我怎么能这样做?

<!-- subscribers table -->
<table class="table table-hover">
   <thead>
      <tr>
         <th>Firstname</th>
         <th>Lastname</th>
         <th>Email</th>
         <th>Created</th>
         <th>Modified</th>
         <th>Mailing lists</th>
      </tr>
   </thead>
   <tbody>
      {{#each subsList}}
      <tr>
         <td>{{firstName}}</td>
         <td>{{lastName}}</td>
         <td>{{email}}</td>
         <td>{{createdDate}}</td>
         <td>{{modifiedDate}}</td>
         <!-- Trigger the modal (popup window) with a button -->
         <td>
            <button type="button" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#subsPopup">Show</button>
            <!-- Modal -->
            <div id="subsPopup" class="modal fade" role="dialog">
               <div class="modal-dialog">
                  <!-- Modal content-->
                  <div class="modal-content">
                     <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <h4 class="modal-title">Mailing List for <b>{{firstName}} {{lastName}}</b> ({{email}})</h4>
                     </div>
                     <div class="modal-body">
                        <p>{{mailLists}}</p>
                     </div>
                     <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                     </div>
                  </div>
               </div>
            </div>
         </td>
      </tr>
      {{/each}}
   </tbody>
</table>

2 个答案:

答案 0 :(得分:2)

您的订阅集可能包含_id字段,因此您可以尝试输出{{_id}}

答案 1 :(得分:0)

如果其他人遇到此问题......

我解决这个问题的方法......(不确定这是不是最优雅,但确实对我有用)

以下是一个例子:

[流星模板文件 - “coolmodal.html” - 包含bootstrap模态组件]

<template name="mymodal">

  <!-- This button we can use to trigger the modal to display-->
  <button class="btn btn-success btn-lg" type="button">

  <div class="modal fade" id="mycoolmodal" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <h4 class="modal-title">{{modalDetails}}</h4>
        </div>
        <div class="modal-body">
          <p>Cool stuff I like to write here</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
  </div><!-- /.modal -->

</template>

[Meteor客户端JS文件 - “cool.js” - 包含模板助手等]

Template.mymodal.events({

  'click .img-thumbnail'(event, instance) {
    event.preventDefault(); // Stops the page from attempting a reload.
    Session.set('myInfoForModal', this.my_data_you_want);
    $('#coolmodal').modal('show');
  }
});

Template.registerHelper('modalDetails',function(input){
  return Session.get("myInfoForModal");
});