stateprovider - ui router angularjs
Enrutamiento a la interfaz basada en pestaƱas con angular-ui y angular-ui-enrutador (1)
El problema es de hecho complicado. Estoy trabajando en un tenedor de ui-router que hace exactamente lo que describes. Parece que puede estar integrado en el ui-router core en algún momento.
Plunk para jugar con: http://plnkr.co/edit/YhQyPV
Leí un montón de problemas en la página de Github de ui-router y decidí obtener alguna entrada (sry para un ejemplo de pestaña más)
Estoy creando una interfaz que se basa en pestañas (basadas en angular-ui).
Tengo algunas pestañas fijas (algunas listas) que deberían estar ahí todo el tiempo, los datos son más o menos estáticos y la velocidad es más importante.
Además, quiero abrir pestañas que se puedan cerrar y que contengan, por ejemplo, vistas detalladas de los elementos de la lista, es importante poder cambiar entre ellas (cosas de búsqueda en otras pestañas). Deben mantener modificaciones.
Por esta razón, creé un servicio de pestañas que proporcionaba pestañas fijas y la posibilidad de crear más de ellas o eliminarlas (guardando solo el estado de ui)
Creé un TabController para controlar toda la página de pestañas y creé un estado que carga las pestañas.
Hasta aquí todo bien, funciona hasta este punto. Ahora quiero crear rutas para el estado de la interfaz de usuario, por ejemplo, para mostrar la segunda pestaña activa en lugar de la primera al cargar la página o mostrar directamente una pestaña para crear cosas nuevas.
No quiero guardar todo el estado si vuelvo a cargar la página, solo mostraré directamente una pestaña determinada y, si no está presente, la crearé. Si ya estoy en la página, quiero mantener mis pestañas actuales y solo abrir una nueva.
Me gustó el tema https://github.com/angular-ui/ui-router/issues/562 porque me pareció que podría ser un caso de uso. Quiero mantener la vista, ya que es simplemente modificarla según la ruta.
Básicamente, la pregunta es cómo delegar correctamente las rutas a mi TabController, donde puedo manejar todo (búsqueda si la pestaña está presente, muéstrela, de lo contrario, créela y muéstrela).
Este problema es complicado y ya es tarde, pero tal vez tengas la idea