javascript - react - backbone tutorial español
Backbone.js: uso del desencadenador para desencadenar eventos y pasar datos (1)
Sí, eso es posible con Backbone.
Puede usar el módulo Eventos para permitir que un objeto tenga la capacidad de enlazar y activar eventos con nombre personalizado.
En su caso, le gustaría agregar el módulo Eventos a su objeto componente de menú. Si este objeto es un modelo de red troncal, entonces ya tiene el módulo de eventos. De lo contrario, puede agregarlo con el siguiente código
_.extend(MenuComponent, Backbone.Events);
Entonces tus oyentes pueden suscribirse así
MenuComponent.bind("action", this.handleAction, this);
Y puedes desencadenar el evento como ya has mencionado
this.trigger("action", {actionCommand: "save"});
Estoy escribiendo un componente del menú de pestañas usando backbone.js como un framework MVC. Cuando un usuario hace clic en una pestaña, el componente cambiará de pestaña (operación interna), pero me gustaría que los oyentes del componente respondan a la acción asociada con el evento. La idea detrás de esto es que estoy abstrayendo los diversos clics en acciones específicas. Por ejemplo, el modelo para cada pestaña es un hash con la siguiente estructura:
{
label : <string>,
actionCommand : "save",
tabClass : <string>
}
El evento que se desencadenará se llamará "acción", por lo que los oyentes responderán a "acción", pero luego reenviarán el comando específico. Por ejemplo:
this.trigger("action", {actionCommand: "save"});
El oyente a su vez manejaría el evento de manera similar a lo siguiente:
handleAction : function(event) {
if (event.actionCommand == "save") {
...do something...
}
}
es posible? No pude obtener esto de la documentación. Gracias de antemano por cualquier información que pueda ofrecer.