example array javascript html5 include angularjs repeater

javascript - array - ¿Cuál es la sintaxis correcta de ng-include?



ng-repeat group by (7)

Esto funcionó para mí:

ng-include src="''views/templates/drivingskills.html''"

div completa

<div id="drivivgskills" ng-controller="DrivingSkillsCtrl" ng-view ng-include src="''views/templates/drivingskills.html''" ></div>

Estoy tratando de incluir un fragmento de código HTML dentro de una ng-repeat , pero no puedo hacer que la inclusión funcione. Parece que la sintaxis actual de ng-include es diferente de lo que era anteriormente: veo muchos ejemplos usando

<div ng-include src="path/file.html"></div>

Pero en los documentos oficiales , dice usar.

<div ng-include="path/file.html"></div>

Pero luego en la página se muestra como

<div ng-include src="path/file.html"></div>

En cualquier caso, lo intenté

<div ng-include="views/sidepanel.html"></div>

<div ng-include src="views/sidepanel.html"></div>

<ng-include src="views/sidepanel.html"></ng-include>

<ng-include="views/sidepanel.html"></ng-include>

<ng:include src="views/sidepanel.html"></ng:include>

Mi fragmento no es mucho código, pero está pasando mucho; Leí en la plantilla Cargar dinámicamente dentro de ng-repeat que podría causar un problema, así que reemplacé el contenido de sidepanel.html con solo la palabra foo , y aún nada.

También intenté declarar la plantilla directamente en la página de esta manera:

<script type="text/ng-template" id="tmpl"> foo </script>

Y ejecutando todas las variaciones de ng-include referencia a la id del script, y aún nada.

Mi página tenía mucho más, pero ahora la he reducido a esto:

<!-- index.html --> <html> <head> <!-- angular includes --> </head> <body ng-view="views/main.html"> <!-- view is actually set in the router --> <!-- views/main.html --> <header> <h2>Blah</h2> </header> <article id="sidepanel"> <section class="panel"> <!-- will have ng-repeat="panel in panels" --> <div ng-include src="views/sidepanel.html"></div> </section> </article> <!-- index.html --> </body> </html>

El encabezado se renderiza, pero luego mi plantilla no. No obtengo errores en la consola ni en Node, y si hago clic en el enlace en src="views/sidepanel.html" en las herramientas de desarrollo, me lleva a mi plantilla (y muestra foo ).


Para aquellos que buscan la solución de "renderizador de elementos" más corta posible de forma parcial, un combo de ng-repeat y ng-include incluye :

<div ng-repeat="item in items" ng-include src="''views/partials/item.html''" />

En realidad, si lo usa así para un repetidor, funcionará, ¡pero no lo hará para 2 de ellos! Angular (v1.2.16) se volverá loco por algún motivo si tiene 2 de estos uno tras otro, por lo que es más seguro cerrar el div de forma pre-xhtml:

<div ng-repeat="item in items" ng-include src="''views/partials/item.html''"></div>


Para aquellos que resuelven problemas, es importante saber que ng-include requiere que la ruta url sea desde el directorio raíz de la aplicación y no desde el mismo directorio en el que reside el partial.html. (mientras parcial.html es el archivo de vista en el que se puede encontrar la etiqueta de marcado ng-include en línea).

Por ejemplo:

Correcto: div ng-include src = "''/views/partials/tabSlides/add-more.html''">

Incorrecto: div ng-include src = "''add-more.html''">


Tal vez esto ayude a los principiantes.

<!doctype html> <html lang="en" ng-app> <head> <meta charset="utf-8"> <title></title> <link rel="icon" href="favicon.ico"> <link rel="stylesheet" href="custom.css"> </head> <body> <div ng-include src="''view/01.html''"></div> <div ng-include src="''view/02.html''"></div> <script src="angular.min.js"></script> </body> </html>


Tienes que citar una sola vez tu cadena src dentro de las comillas dobles:

<div ng-include src="''views/sidepanel.html''"></div>

Source


prueba esto

<div ng-app="myApp" ng-controller="customersCtrl"> <div ng-include="''myTable.htm''"></div> </div> <script> var app = angular.module(''myApp'', []); app.controller(''customersCtrl'', function($scope, $http) { $http.get("customers.php").then(function (response) { $scope.names = response.data.records; }); }); </script>


<ng-include src="''views/sidepanel.html''"></ng-include>

O

<div ng-include="''views/sidepanel.html''"></div>

O

<div ng-include src="''views/sidepanel.html''"></div>

Puntos para recordar:

-> No hay espacios en src

-> Recuerde usar comillas simples en comillas dobles para src