Czy można użyć definicji Backbone.View.events
, aby odsłuchać niestandardowe zdarzenia z podziałem?Jak używać definicji `Backbone.View.events` do wykrywania niestandardowych zdarzeń z podziałem?
definicja Dziecko
Wszystkie zdarzenia click
są buforowane i wyzwolić mój clicked
funkcję:
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>");
}
});
definicję Parent
Dlaczego nie customEvent
wydarzenia zadzwonić do mojego action
funkcję?
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();
}
});
Tworzenie i renderowanie rodzic
var parent = new Parent();
parent.$el.appendTo(document.body);
parent.render();
wiem, że przydałby listenTo
zamiast ale stosując definicję wydarzeń wydaje się być czystsze.
Moim zamiarem jest zbudowanie widoku podrzędnego (np. Selektora kolorów), który wyzwala zdarzenie po zakończeniu.
Co sądzisz o tym '$ el.trigger ("customEvent".) '? – jantimon
Po raz kolejny, twój el element nie słucha "customEvent", więc to też nie zadziała. Dobrze ? Proszę spojrzeć na kod JSbin. – sachinjain024
To działa: http://jsfiddle.net/YLzUJ/2/ – jantimon