Ember.js 访问Ember.ArrayController中单击的模型

Ember.js 访问Ember.ArrayController中单击的模型,ember.js,controller,Ember.js,Controller,我有一个小的Ember.js应用程序,它将当前月份显示为一个充满day模型的列表。设想一个日历,在那里你可以点击某些日子来突出显示它们 App.HolidaysNewRoute = Ember.Route.extend({ actions: { toggleSelected: function() { console.log(this.day); # --------> day is undefined here } }); App.Holidays

我有一个小的Ember.js应用程序,它将当前月份显示为一个充满
day
模型的列表。设想一个日历,在那里你可以点击某些日子来突出显示它们

App.HolidaysNewRoute = Ember.Route.extend({
  actions: { 
    toggleSelected: function() {
      console.log(this.day);   # --------> day is undefined here
    }
});

App.HolidaysNewController = Ember.ArrayController.extend({
  days: function() {
    return [
      this.store.createRecord('day'),
      ...
    ];
  }.property()
});

<script type="text/x-handlebars" id="holidays/new">
   <ul>
     {{#each day in days}}
       <li {{action "toggleSelected"}}>{{day}}</li>
     {{/each}}
   </ul>
</script>
App.HolidaysNewRoute=Ember.Route.extend({
行动:{
toggleSelected:函数(){
console.log(this.day);#----------->此处未定义day
}
});
App.HolidaysNewController=Ember.ArrayController.extend({
天数:函数(){
返回[
this.store.createRecord('day'),
...
];
}.property()
});
    {{#每一天} {{day} {{/每个}}
我如何知道在操作处理程序中单击了哪个
日期
模型?我知道有一个
当前模型
,但这是一个具有多个模型的
阵列控制器

当我在模板中创建一个余烬组件,并将循环中的
day
模型传递给它时,它会工作,但这意味着我正在处理组件中的行为,我想我应该将其留给控制器


谢谢!

更改您的toggleSelected函数以允许另一个参数

App.HolidaysNewRoute = Ember.Route.extend({
  actions: { 
    toggleSelected: function(obj) {
      console.log(obj);  
    }
});
然后在动作中发送对象

 {{#each day in days}}
   <li {{action "toggleSelected" day}}>{{day}}</li>
 {{/each}}
{{{#每一天}
{{day}
{{/每个}}

each to the action中的day如何?比如{{action“toggleSelected”day}}@blessenm谢谢,这很有效。如果你将你的评论转换为答案,我可以接受你的回复,就像你第一次那样。谢谢,我不知道你可以将参数传递给这样的操作。