2

我发现这个非常有用的stackoverflow 链接,它展示了如何创建模态模板。这是他们在该问题中引用的代码。

我想扩展这个程序并创建两个显示不同内容的模式弹出窗口。但是,我不知道该怎么做。

我尝试使用布尔变量值来确定要在模式弹出窗口中显示哪些数据,但它不起作用。这是我尝试过的。我在下面展示了相关部分,完整的工作程序可以在这里找到。

App.ApplicationRoute = Ember.Route.extend({

  isFirst : false,

  events: {
     open: function() {
           isFirst = true;
           this.render('modal', { into: 'application', outlet: 'modal' });
     },

     openModal: function() {
           isFirst = false;
          this.render('modal', { into: 'application',     outlet: 'modal' });
     },
});

<div class="modal-header">
  <button type="button" class="close" {{action close target="view"}}>&times;</button>

  {{#if isFirst}}
  <h3>Modal header</h3>
  {{else}}
    My Header
  {{/if}}

</div>

两个弹出窗口都显示“我的标题”作为标题,这意味着变量 isFirst 没有设置。

知道如何解决这个问题吗?任何帮助是极大的赞赏!谢谢!

4

1 回答 1

3

两个弹出窗口都显示“我的页眉”,因为模板引用isFirstApplicationController. 要从 ApplicationRoute 中的事件设置该属性,请尝试以下操作:

open: function() {
  this.controller.set('isFirst', true);
  this.render('modal', { into: 'application', outlet: 'modal' });
},

openModal: function(arg) {
  this.controller.set('isFirst', false);
  this.render('modal', { into: 'application',     outlet: 'modal' });
},

在这里工作 jsbin:http: //jsbin.com/OTiRerA/1/

于 2013-08-31T06:01:10.803 回答