如何处理itemController中特定于DOM的东西?

时间:2014-09-25 20:13:36

标签: twitter-bootstrap ember.js

我有一个类别的Ember DS.Model,它有很多Measure,它们显示在bootstrap手风琴中,类别名称是面板标题,每个小节都有可选择的按钮。在我的模板中,我有一个V形臂,无论是指向右还是向下,取决于手风琴面板是打开/关闭。我想回应手风琴的bootstrap打开/关闭事件,即shown.bs.collapsehidden.bs.collapse事件,并在glyphicon-chevron-right之间切换面板标题中的图标和glyphicon-chevron-down

我的图标位于itemController:

<div class="panel-group" id="measureSelectors">
  {{#each itemController='dashboard-category'}}
    <!-- ... -->
    <i class="panel-chevron glyphicon glyphicon-chevron-right"></i>
    <!-- ... -->
  {{/each}}
</div>

我假设我只能在视图中响应引导事件,但我不确定如何使用itemController连接视图。我如何收听活动并改变课程?

还有其他情况我需要在itemController中执行DOM特定的东西(例如,调用jQuery函数,加载d3可视化),所以我正在寻找可以应用于不同的基本策略案例。我希望我能创建一个App.DashboardCategoryView类,这样可行,但显然不行。

1 个答案:

答案 0 :(得分:1)

使用render,它会将它包装在与传入的模板相关联的视图和控制器中。

{{#each }}
  {{render 'dashboard-category' this}}
{{/each}}

将使用DashboardCategoryViewDashboardCategory控制器并将其作为控制器的模型传递。

http://emberjs.jsbin.com/muzeri/1/edit