2011-02-06 13 views
11

Estoy tratando de detectar Backbone.js y uno de los problemas que intento resolver es cómo la gente usa los controladores de manera efectiva en Backbone.Controladores vs. Vista de nivel de aplicación en Backbone.js

Me di cuenta de que los controladores se agregaron más adelante en el marco, y que las vistas tienen una cantidad significativa de lógica de controlador solo por la forma en que el navegador y el DOM están configurados. También el ejemplo de la lista de TODO en el sitio web de Backbone se implementa sin un controlador.

Así que no estoy seguro de cómo usar el aspecto del controlador de la red troncal. Si alguien pudiera arrojar algo de luz sobre este tema, realmente lo agradecería.

Gracias! Matt

+0

http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/ – Heikki

Respuesta

12

La diferencia entre un Backbone.View y un Backbone.Controller es que el controlador tiene la arquitectura de rutas, y el oyente Backbone.History() correspondiente, que presta atención a la parte de la URL después de la etiqueta hash (#).

Fundamentalmente, esto significa que un Backbone.Controller proporciona URLs marcables. Dado que puede escribir a mano la porción hash y marcarla, Bookmark.Controller solo debe hacer referencia a los objetos para los que tiene sentido mostrar un elemento GETtable.

He escrito un pequeño tutorial, http://www.elfsternberg.com/2010/12/08/backbonejs-introducing-backbone-store/, un puerto del tutorial de Sammy de The Backbone Store. Si sigue el enlace al repositorio de GitHub, también puede obtener la última versión.

+0

Awesome write-up. ¡Muchas gracias! – Matt

+7

Esto es un poco anticuado ahora. Ya no hay Controladores en Backbone (ahora llamados 'Router'), y' View' realmente realiza la funcionalidad de lo que la mayoría espera que haga un Controller. La vista real es solo la dom, actualizable con cualquier sabor de DOM lib. –

+1

Sí, pero si observa la diferencia, apenas hay un cambio de nombre entre "Controlador" y "Enrutador" y Ver siempre fue el mecanismo principal del controlador. El cambio aclara las cosas (si quieres enrutar a bookmarkables, después de todo), pero no estropea la lógica subyacente en absoluto. –

Cuestiones relacionadas