unidades:02_angular:08_modulos
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| unidades:02_angular:08_modulos [2014/07/24 09:29] – [Referencias] admin | unidades:02_angular:08_modulos [2014/10/28 18:35] (actual) – [Varios módulos] admin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== 2.8 Modulos ====== | ====== 2.8 Modulos ====== | ||
| - | Por ahora hemos visto unas cuantas directivas de angular ((pero | + | Por ahora hemos visto unas cuantas directivas de angular ((pero |
| En todos los ejemplo que hemos visto ya hemos hecho uso de los módulos en AngularJS con la siguiente línea: | En todos los ejemplo que hemos visto ya hemos hecho uso de los módulos en AngularJS con la siguiente línea: | ||
| Línea 8: | Línea 8: | ||
| </ | </ | ||
| - | Pero, ¿que es un módulo? Podríamos verlo como un paquete de Java. Es como una forma de agrupar funcionalidades de Angular. Por ejemplo podríamos crear varias directivas relacionadas con google Maps. Lo normal sería agrupar todas esas directivas en un único módulo y luego al crear nuestra aplicación decir que vamos a usar dicho módulo. | + | Pero, ¿qué |
| Sigamos viendo lo que es un módulo mediante los métodos de JavaScript que ofrece AngularJS. | Sigamos viendo lo que es un módulo mediante los métodos de JavaScript que ofrece AngularJS. | ||
| Línea 21: | Línea 21: | ||
| </ | </ | ||
| - | Al ejecutarlo se crea el módulo " | + | Al ejecutarlo se crea el módulo " |
| - | ¿Porque | + | ¿Por qué debemos incluir los corchetes? Desgraciadamente no existe un método para obtener una referencia a un módulo y otro distinto para crear . En ambos casos se usa el método '' |
| <note warning> | <note warning> | ||
| Línea 38: | Línea 38: | ||
| </ | </ | ||
| - | Ahora en la variable de JavaScript '' | + | Ahora en la variable de JavaScript '' |
| ==== Crear y obtener un módulo ==== | ==== Crear y obtener un módulo ==== | ||
| - | Lo normal no es crear un módulo y luego obtener una referencia a él sino que hacerlo todo en la misma línea: | + | Lo normal no es crear un módulo y luego obtener una referencia a él sino hacerlo todo en la misma línea: |
| <sxh js> | <sxh js> | ||
| var moduloAA=angular.module(" | var moduloAA=angular.module(" | ||
| Línea 51: | Línea 51: | ||
| ===== Artefactos ===== | ===== Artefactos ===== | ||
| - | En los módulos se puedes | + | En los módulos se pueden |
| - | Un artefacto es por ejemplo una directiva o un controlador , teniendo que definir estos artefactos en módulos de AngularJS | + | Un artefacto es por ejemplo una directiva o un controlador , teniendo que definir estos artefactos en módulos de AngularJS. |
| ==== Controladores ==== | ==== Controladores ==== | ||
| Línea 69: | Línea 69: | ||
| * Línea 3: Creamos un controlador llamado " | * Línea 3: Creamos un controlador llamado " | ||
| - | El método '' | + | El método '' |
| <note warning> | <note warning> | ||
| Todos los controladores que usemos en nuestra aplicación deben siempre definirse dentro de un módulo y no como funciones sueltas. | Todos los controladores que usemos en nuestra aplicación deben siempre definirse dentro de un módulo y no como funciones sueltas. | ||
| - | Esto es importante ya que a partir de la versión **1.3** de AngularJS no funcionaran | + | É es importante ya que a partir de la versión **1.3** de AngularJS no funcionarán |
| </ | </ | ||
| Línea 85: | Línea 85: | ||
| </ | </ | ||
| - | Ya veremos | + | Ya veremos |
| ==== Otros artefactos ==== | ==== Otros artefactos ==== | ||
| Hasta ahora hemos visto que AngularJS dispone de 2 artefactos : | Hasta ahora hemos visto que AngularJS dispone de 2 artefactos : | ||
| Línea 101: | Línea 101: | ||
| * Etc. | * Etc. | ||
| - | Es decir y para acabar con la explicación de que es un módulo: | + | Es decir y para acabar con la explicación de qué es un módulo: |
| //Un módulo es donde se añaden los distintos artefactos que usaremos en nuestra aplicación.// | //Un módulo es donde se añaden los distintos artefactos que usaremos en nuestra aplicación.// | ||
| Línea 112: | Línea 112: | ||
| En cualquier aplicación que desarrollemos acabaremos organizando nuestro código en distintos módulos o usando [[http:// | En cualquier aplicación que desarrollemos acabaremos organizando nuestro código en distintos módulos o usando [[http:// | ||
| - | ¿como | + | ¿Cómo |
| Veamos un ejemplo: | Veamos un ejemplo: | ||
| Línea 127: | Línea 127: | ||
| * Línea 4: Se crea el módulo " | * Línea 4: Se crea el módulo " | ||
| - | ¿que implicaciones tiene que el módulo " | + | ¿Qué |
| - | AngularJS por defecto | + | AngularJS por defecto |
| ==== Transitividad ==== | ==== Transitividad ==== | ||
| Línea 146: | Línea 146: | ||
| * Línea 3: El módulo " | * Línea 3: El módulo " | ||
| - | Ahora el módulo " | + | Ahora el módulo " |
| ==== Carga de módulos ==== | ==== Carga de módulos ==== | ||
| Llegados a este punto , parece que los módulos son una cosa muy útil para organizar nuestro código JavaScript y con las relaciones transitivas nos podemos ahorrar mucho trabajo. | Llegados a este punto , parece que los módulos son una cosa muy útil para organizar nuestro código JavaScript y con las relaciones transitivas nos podemos ahorrar mucho trabajo. | ||
| - | Pero hay un asunto en el que no habrás caído | + | Pero hay un asunto en el que no habrás caído: para que funcione |
| AngularJS no va a ahorrarte cosas como lo siguiente: | AngularJS no va a ahorrarte cosas como lo siguiente: | ||
| Línea 161: | Línea 161: | ||
| </ | </ | ||
| - | Es decir , suponiendo que cada módulo y todos sus artefactos están en un único fichero , deberemos cargar los 4 ficheros | + | Es decir , suponiendo que cada módulo y todos sus artefactos están en un único fichero , deberemos cargar los 4 ficheros |
| - | Sin embargo , aunque AngularJS no tenga nada referido a la carga de ficheros JavaScript | + | Sin embargo , aunque AngularJS no tenga nada referido a la carga de ficheros JavaScript |
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| - | Aunque hay que tomarlos con cautela ya que aun no hay una solución definitiva a la carga de ficheros JavaScript | + | Aunque hay que tomarlos con cautela ya que aún no hay una solución definitiva a la carga de ficheros JavaScript. |
| <note warning> | <note warning> | ||
| - | Recuerda que siempre debes cargar | + | Recuerda que siempre debes cargar |
| </ | </ | ||
| ==== Varios módulos ==== | ==== Varios módulos ==== | ||
| - | Entonces , ¿Para que sirve tener más de un módulo? | + | Entonces , ¿para qué sirve tener más de un módulo? |
| - | Si estás | + | <note tip> |
| - | + | La mayor utilidad de los módulos es si está haciendo una librería | |
| - | Este es el primer motivo para crear nuevos módulos. | + | </ |
| - | + | ||
| - | Por otro lado dentro del código de la propia aplicación, | + | |
| ===== Espacio de nombres ===== | ===== Espacio de nombres ===== | ||
| Una última característica de los módulos es el espacio de nombres. Hemos visto que al añadir un controlador a un módulo le indicamos su nombre, pues bien. Para AngularJS da igual el módulo en el que definamos el controlador, | Una última característica de los módulos es el espacio de nombres. Hemos visto que al añadir un controlador a un módulo le indicamos su nombre, pues bien. Para AngularJS da igual el módulo en el que definamos el controlador, | ||
| - | Esto tiene la ventaja de que no debemos preocuparnos por saber en que módulo se definió el controlador (o cualquier otro artefacto) pero la parte negativa es que no podremos tener 2 controladores con el mismo nombre aunque estén en distintos módulos. Por lo tanto en un equipo grande de desarrollo se deberán coordinar los nombres de todos los artefactos de AngularJS. | + | Ésto tiene la ventaja de que no debemos preocuparnos por saber en qué módulo se definió el controlador (o cualquier otro artefacto) pero la parte negativa es que no podremos tener 2 controladores con el mismo nombre aunque estén en distintos módulos. Por lo tanto en un equipo grande de desarrollo se deberán coordinar los nombres de todos los artefactos de AngularJS. |
| <note tip> | <note tip> | ||
| Línea 270: | Línea 268: | ||
| </ | </ | ||
| - | * Línea 3: Vemos como el controlador ya no es una función con nombre sino que ahora es una función anónima que se pasa al método '' | + | * Línea 3: Vemos cómo el controlador ya no es una función con nombre sino que ahora es una función anónima que se pasa al método '' |
unidades/02_angular/08_modulos.1406186955.txt.gz · Última modificación: por admin
