Ember.js 访问Ember.ArrayController中单击的模型
我有一个小的Ember.js应用程序,它将当前月份显示为一个充满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
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谢谢,这很有效。如果你将你的评论转换为答案,我可以接受你的回复,就像你第一次那样。谢谢,我不知道你可以将参数传递给这样的操作。