伙计们,我得到了以下代码:
App.Views.Bed = Backbone.View.extend({
tagName: 'li',
template: _.template( App.Templates.Bed ),
events: {
'click .booked': 'showReservation',
'click .occupied': 'showGuest',
'click .free': 'checkIn'
},
render: function(){
if( this.model.get('id_bookings') ){
this.clase = 'booked';
}
if( this.model.get('id_guests') ){
this.clase = 'occupied';
}else{
this.clase = 'free';
}
this.$el.addClass(this.clase).html( this.template( this.model.toJSON() ) );
return this;
},
checkIn: function(){
console.log('Check-in form load');
},
showReservation: function(){
},
showGuest: function(){
}
});
我尝试根据className(我根据内容的模型设置)触发不同的方法。
在定义视图的事件时,是否有一种方法可以按类进行筛选?
谢谢你!
2条答案
按热度按时间taor4pac1#
简而言之,使用声明性
events
哈希是不可能的,除非你愿意做一些:parent
选择器黑客,我也不确定这是否可能。问题在于,您用来定义元素的任何jQuery选择器(例如类选择器
.booked
)**都是在视图el
**内应用的,因此选择器中不考虑元素本身的类。相反,我会动态地设置处理程序方法,类似于:
9gm1akwq2#
保持简单。你只需要为你的按钮设置一个点击处理程序,并让它代理到正确的方法。