Можно ли использовать определение Backbone.View.events
для прослушивания пользовательских событий подвью?Как использовать определение «Backbone.View.events» для прослушивания пользовательских событий подвью?
определение Детского
Все click
событий кэшируются и вызвать мою clicked
функции:
var Child = Backbone.View.extend({
events : {
'click' : 'clicked'
},
clicked: function() {
alert('View was clicked');
this.trigger("customEvent");
},
render: function() {
this.$el.html("<span>Click me</span>");
}
});
определение Parent
Почему не customEvent
событий называют мою action
функции?
var Parent = Backbone.View.extend({
events : {
'customEvent' : 'action'
},
action : function() {
alert('My sub view triggered a custom event');
},
render : function() {
var child = new Child();
this.$el.append(child.el);
child.render();
}
});
Создание и визуализации родительского
var parent = new Parent();
parent.$el.appendTo(document.body);
parent.render();
Я знаю, что можно использовать вместо listenTo
но используя определение событий, кажется чище.
Мое намерение состоит в создании дополнительного представления (например, набора цветов), которое запускает событие после его завершения.
Что вы думаете о 'это $ el.trigger («CustomEvent».) '? – jantimon
Еще раз, ваш элемент el не прослушивает «customEvent», поэтому это тоже не сработает. Правильно ? Посмотрите код JSbin. – sachinjain024
Это действительно работает: http://jsfiddle.net/YLzUJ/2/ – jantimon