在 Meteor 中显示/隐藏模态

Posted

技术标签:

【中文标题】在 Meteor 中显示/隐藏模态【英文标题】:Show/hide modal in Meteor 【发布时间】:2015-12-21 22:36:03 【问题描述】:

如何在 Meteor 中显示引导模式?

从http://meteorpedia.com/read/Modals我可以读到流星方式是使用模板逻辑来显示/隐藏模态。

我尝试在我的模板中添加模态

<div class="modal fade">
  <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>
          <span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

我有一个变量showModal,它决定是否显示模态框。但我不知道如何以编程方式显示/隐藏模式。

【问题讨论】:

【参考方案1】:

向模态框添加 id

<div id="myModal" class="modal fade">

并使用modal()打开模态

$('#myModal').modal('show');

关闭模态

$('#myModal').modal('hide');

Docs


如果你想用 Meteor 方式打开 modal

在 JS 中

Session.set('showModal', true); // Show modal
Session.set('showModal', false); // Hide modal

在模板中

#if showModal
    <div class="modal fade"> <!-- Use Display block to show the modal by default -->
    ...

/if

【讨论】:

但是从我发布的链接中,它说这是 jquery 方式,而不是 Meteor 方式 @Jamgreen Meteor 方式意味着只在Session 中存储一个变量并使用该变量来显示/隐藏模态。【参考方案2】:

使用 bootstrap meteor-modal 包让自己的生活变得轻松。我用这个,效果很好meteor modal。

【讨论】:

我自己使用mizzao:bootboxjs。得心应手的花花公子。

以上是关于在 Meteor 中显示/隐藏模态的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap - 模态在隐藏时保持“显示:块”

仅在模态显示的视图控制器上隐藏状态栏

隐藏所有模态视图控制器

模态视图控制器隐藏标签栏

通过 MVC 局部视图注入时,Bootstrap 模态显示和隐藏事件未触发

Bootstrap模态对话框怎么隐藏?