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

Javascript 在Ember中更改模板时如何运行JQuery代码?,javascript,ember.js,Javascript,Ember.js,在我的项目中,我想要一些代码: $("#panelAccommodation").hide(); $("#panelFlight").hide(); 更改模板时运行。我想要的是,当用户更改其所在的模板时,这些面板的ID(如上所示)将被隐藏。它们应该只在单击时显示,但这部分代码已经通过控制器上的操作完成。有什么办法吗 编辑: 我真的很抱歉,似乎我被误解了,这是我的错,因为我没有指定它,当我说“单击”时,我的意思不是在按钮上,而是在RadioButtonList上的选项上。与其隐藏和显示div

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

 $("#panelAccommodation").hide();
 $("#panelFlight").hide();
更改模板时运行。我想要的是,当用户更改其所在的模板时,这些面板的ID(如上所示)将被隐藏。它们应该只在单击时显示,但这部分代码已经通过控制器上的操作完成。有什么办法吗

编辑:


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

与其隐藏和显示div,不如建议查看将模板渲染到指定的输出,并使用{action}助手发送操作。有关渲染和发送操作的详细信息

所以,让我们假设您有一条索引路线,并且希望显示住宿和航班

// 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>
//app/templates/acomodations.hbs
所有你喜欢的都在这里
接近
然后,您的主模板:

// 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>
//app/templates/application.hbs
{{outlet}}
{{出口“住宿”}
展示住宿

与其隐藏和显示div,不如考虑将模板呈现到命名的outlet中,并使用{action}助手发送操作。有关渲染和发送操作的详细信息

所以,让我们假设您有一条索引路线,并且希望显示住宿和航班

// 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>
//app/templates/acomodations.hbs
所有你喜欢的都在这里
接近
然后,您的主模板:

// 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>
//app/templates/application.hbs
{{outlet}}
{{出口“住宿”}
展示住宿

与其隐藏和显示div,不如考虑将模板呈现到命名的outlet中,并使用{action}助手发送操作。有关渲染和发送操作的详细信息

所以,让我们假设您有一条索引路线,并且希望显示住宿和航班

// 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>
//app/templates/acomodations.hbs
所有你喜欢的都在这里
接近
然后,您的主模板:

// 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>
//app/templates/application.hbs
{{outlet}}
{{出口“住宿”}
展示住宿

与其隐藏和显示div,不如考虑将模板呈现到命名的outlet中,并使用{action}助手发送操作。有关渲染和发送操作的详细信息

所以,让我们假设您有一条索引路线,并且希望显示住宿和航班

// 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>
//app/templates/acomodations.hbs
所有你喜欢的都在这里
接近
然后,您的主模板:

// 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>
//app/templates/application.hbs
{{outlet}}
{{出口“住宿”}
展示住宿

这是一个非常好的答案,谢谢!但我不确定它是否适用于我的具体情况,我已经编辑了这个问题,请检查一下。谢谢你仍然可以使用我的大部分示例,只需将它与一些单选按钮结合起来:谢谢你的帮助;)这是一个非常好的回答,谢谢!但我不确定它是否适用于我的具体情况,我已经编辑了这个问题,请检查一下。谢谢你仍然可以使用我的大部分示例,只需将它与一些单选按钮结合起来:谢谢你的帮助;)这是一个非常好的回答,谢谢!但我不确定它是否适用于我的具体情况,我已经编辑了这个问题,请检查一下。谢谢你仍然可以使用我的大部分示例,只需将它与一些单选按钮结合起来:谢谢你的帮助;)这是一个非常好的回答,谢谢!但我不确定它是否适用于我的具体情况,我已经编辑了这个问题,请检查一下。谢谢你仍然可以使用我的大部分示例,只需将它与一些单选按钮结合起来:谢谢你的帮助;)