angularjs - sref - ¿Cómo anidar ng-view dentro de ng-include?
ui sref ui router angularjs (1)
Cuando se intenta agregar una ng-view
ng-include
dentro de una ng-include
, no sucede nada. por ejemplo, en el siguiente código, cuando themes / midnight / index.html contiene una ng-view
, no se representa ninguna vista:
<ng-include src="''themes/midnight/index.html''"></ng-include>
Sin embargo, si uso el siguiente código, la vista se muestra dos veces:
<ng-include src="''themes/midnight/index.html''"></ng-include>
<div ng-view></div>
¿Cuál es el problema y cómo puedo resolverlo?
Este problema ocurre debido a una instanciación retrasada de ng-view
(que pasa a través de ng-include
). En tal caso, la instanciación de $route
se retrasa, y $route
perderá el evento de cambio de ubicación (y el enrutamiento no se realizará en absoluto).
Para evitar esto, invoque la función de actualización $route
en la inicialización de la aplicación:
yourApp.run([''$route'', function($route) {
$route.reload();
}]);
Además, es suficiente incluir solo $route
como una dependencia. Esto funcionará, también:
yourApp.run([''$route'', angular.noop]);
Fuente: el tema relacionado en github .
También ui-router ver ui-router , que está diseñado para tratar específicamente el problema de las vistas anidadas.