javascript - 在 Ember 中更改模板时如何运行 JQuery 代码?

标签 javascript ember.js

在我的项目中,我想要一些代码:

 $("#panelAccommodation").hide();
 $("#panelFlight").hide();

更改模板时运行。我想要的是当用户更改他们所在的模板时,这些具有 id(如上所示)的面板将被隐藏。它们应该仅在单击时显示,但这部分代码已经通过 Controller 上的操作完成。关于如何做到这一点有什么想法吗?

编辑:

我真的很抱歉,我似乎被误解了,这是我的错,因为我没有指定它,当我说单击时,我并不是指按钮,而是指 RadioButtonList 上的选项。

最佳答案

我建议不要隐藏和显示 div,而是研究将模板渲染到命名 socket 中,并使用 {{action}} 帮助器发送操作。有关渲染的更多详细信息 here ,并发送操作 here .

因此,我们假设您有一条索引路线并希望显示住宿和航类。

// app/routes/application.js

actions: {
  showAccommodationPanel: function() {
    this.render('accomodations', {
      into: "application",
      outlet: "accomodations"
    });
  },
  removeAccomodationPanel: function() {
    this.disconnectOutlet({
      outlet: "accomodations",
      parentView: "application"
    });
  }
}

您有一个住宿模板:

// app/templates/accomodations.hbs

<panel id="panelAccomodation">
  <h1>
    All you awesome panel markup here
  </h1>
  <button {{action "removeAccommodationPanel"}}>Close</button>
</panel>

然后是你的主模板:

// app/templates/application.hbs

{{outlet}}
{{outlet "accomodations"}}
<button {{action "showAccommodationPanel"}}>Show accomodations</button>

关于javascript - 在 Ember 中更改模板时如何运行 JQuery 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28606077/

相关文章:

javascript - Ember 直接路由不加载内容

javascript - 使用 init 时 Ember 文本字段事件不起作用

javascript - 在 Controller 内部使用操作?

javascript - 如何使用 JavaScript 创建文本文件?

javascript - Jquery div slider + 菜单

javascript - Ember.js - 在 Handlebars 模板中构造一个 href url

javascript - Ember.js 中的 jQuery $.extend() 等价物是什么?

javascript - Firefox 忽略填充底部与 box-sizing :border box

javascript - 模块模式如何知道如何在这里调用构造函数?

javascript - Angular:如何进行信用卡输入?