working template not div cargar html partials angularjs

html - template - ng-include not working



Angularjs: Partials de mĂșltiplos en html individual? (2)

¿Es posible recuperar múltiplos html parciales en un solo html? Tengo la siguiente situación:

Template: {header} {main} {footer} /index: header:"Welcome" main:"welcome text" footer:"" /help: header:"Help title" main:"faq tips" footer"Back to home"

usando ng-include tengo que recuperar 6 html del servidor. Si voy a recuperar múltiples parciales en un html, recuperaré 2 html del servidor solamente, uno para / index y otro para / help.

  • Esta situación es un pequeño ejemplo de la situación real.
  • El script de etiqueta con el tipo ng-template no funciona para mí, porque el script debe incluirse antes de ng-include .

¡Gracias!

Actualización 04/07/12:

Busco actualizar más de un div a la vez, con un único html retreive. No me gusta esto

function IndexCtrl($scope) { $scope.mainPage = ''partials/index/index.html''; $scope.headerTemplate = ''partials/index/header.html''; $scope.footerTemplate = ''partials/index/footer.html''; }

Luego en la plantilla use ng-includes para incluir estos parciales. Creo que esta no es la forma correcta. Hay otra manera?

¡Gracias!


Las plantillas se pueden incrustar en el html principal. Por ejemplo, con el siguiente index.html :

<!DOCTYPE html> <html ng-app=app> <meta charset=utf-8> <title>App</title> <ng-view>Loading...</ng-view> <script type=text/ng-template id=partial1.html> <p>foo = {{foo}}</p> </script> <script type=text/ng-template id=partial2.html> <p>Contents of partial2.html</p> </script> <script src=app.js></script>

Puedes usar la siguiente app.js :

angular.module(''app'', [], [''$routeProvider'', ''$controllerProvider'', function($routeProvider, $controllerProvider) { $routeProvider.when(''/p1'', { templateUrl: ''partial1.html'', controller: ''Partial1'' }); $controllerProvider.register(''Partial1'', [''$scope'', function($scope) { $scope.foo = ''bar''; }]); }]);

La documentación del servicio $ templateCache tiene más detalles.


Lo que hago es usar template en lugar de templateUrl, y usar el complemento de texto requirejs para cargar las plantillas. de esa manera para el desarrollo puede tener miles de archivos para sus plantillas, pero una vez que minimiza, solo tiene un archivo javascript con todas las plantillas en línea.

Creé un proyecto de código abierto que está configurado para la red troncal, pero se puede modificar fácilmente para angular, lo que hace que la minificación y el cableado de los complementos de texto requieran para usted: http://github.com/davidjnelson/agilejs