2011-04-29 23 views
11

Estoy empezando con la red troncal y estoy tratando de configurar una vista que tiene una lista de preguntas. A la izquierda de la lista, tengo cuatro filtros para filtrar la lista por idioma, país, estado y estudio. La lista y cada uno de los filtros se cargan en sus propias colecciones.¿Puede una vista principal tener más de una colección?

Mi idea era hacer esta única vista con varias colecciones, pero me pregunto si esta es la mejor práctica en la red troncal ya que todos los ejemplos que he visto solo tienen una colección por vista.

Otra idea era dividir en dos puntos de vista, uno responsable de los filtros y, a continuación, una vista secundaria que solo es responsable de la lista de preguntas.

O, ¿es más estilo de columna vertebral a caer todas las colecciones en un modelo y luego pasar ese modelo para mi punto de vista como se menciona aquí: http://documentcloud.github.com/backbone/#FAQ-nested

Gracias por sus ideas.

Respuesta

24

Sí. Teóricamente, una vista puede abarcar cualquier cantidad de objetos/colecciones interiores. Por lo general, tiene sentido que las vistas sean lo más discretas posible, pero podría haber razones para ajustar más de una cosa en una sola vista.

Esto es todo una cuestión de diseño. No veo que te compre comprar un modelo de contenedor para tus colecciones.

No se preocupe demasiado por la mejor manera. A veces se necesita caminar un poco por el camino equivocado para descubrir las mejores formas para su proyecto en particular.

1

No estoy seguro de las mejores prácticas, pero si puede dividirlas en vistas, entonces es bueno. De lo contrario, será mejor que cree un modelo de vista con múltiples colecciones y las use en la vista.

+0

Ah, ahora veo lo que quiere decir con el modelo de vista después de leer el bit de recopilación anidado en los documentos. –

9

Creo que es completamente legítimo pasar más de un modelo o colección a una vista, cuando corresponda.

Pasar un model o collection a una vista constructor se añade automáticamente ese objeto a la instancia de vista (lo que es en this.model o this.collection), pero también puede pasar otros datos, tales como colecciones extra y que se encuentra en el objeto options (accesible desde su vista como this.options.countries, etc.). Su método de vistas initialize, si existe, también se pasará este objeto.

+0

Siempre he usado de esta manera en el pasado. Con respecto a Mario, que dice que las vistas deben ser lo más discretas posible, me resulta difícil justificar la aprobación de una segunda colección, por ejemplo, como una opción cuando la vista lo requiera para funcionar correctamente. – maletor

Cuestiones relacionadas