Vistas
Las vistas en una aplicación de Ionic se refieren al concepto de "templates" según la librería Angular. Por este motivo todas las vistas se guardarán dentro de la carpeta "templates/
" en ficheros separados con extensión .html
.
Las vistas contendrán la descripción de la parte gráfica de una pantalla, por lo que serán básicamente código HTML mezclado con CSS y también podremos usar otras directivas o componentes de Ionic, como botones, barras, etc. A continuación se incluye un ejemplo de una vista que guardaremos en el fichero /templates/about.html
:
Las vistas tienen que ir encerradas dentro de una sección <ion-view>
a la que se le puede asignar opcionalmente un título. Este título se utiliza desde otras directivas como <ion-nav-bar>
para obtener el texto de la barra de título.
Contenedor o página principal
Pero ¿dónde se muestran estas vistas y el título indicado? Al inicio de esta sección, al incluir el código del fichero index.html
, dentro de la sección <body>
añadimos dos directivas para esto:
Como se puede intuir, la directiva <ion-nav-bar>
mostrará la barra de navegación y además incluirá el título indicado en la vista. Y la directiva <ion-nav-view>
es donde se incluirá el contenido de la plantilla de la vista actual.
El botón de la barra de título indicado mediante la directiva ion-nav-back-button
permitirá volver a la página anterior y solo se mostrará cuando se pueda pulsar.
Sustitución de variables
Dentro de la vista o plantilla podemos acceder a los datos proporcionados por el controlador. Para mostrarlos tenemos que usar una plantilla con el formato {{nombre_variable}}
que se sustiturirá por el valor de dicha variable. Por ejemplo:
donde {{name}}
es una variable que se ha asignado al $scope
en el controlador de la forma:
Por lo que al mostrar la vista y una vez sustituidas las variables se podrá leer el texto "Mi nombre es Juan".
Es importante que nos fijemos que en la vista tenemos que usar directamente el nombre de la variable mientras que en el controlador las tenemos que añadir al objeto
$scope
.
Bucles
Con Angular es posible crear bucles directamente en la plantilla para repetir un trozo de código. Para esto usaremos el atributo ng-repeat
en la etiqueta que queremos que se repita. Es importante que nos fijemos en que la etiqueta la hemos de colocar en el mismo atributo a repetir y no fuera. Por ejemplo, para crear una lista el elemento a repetir sería la etiqueta <li>
:
En este código creamos un bucle a partir de la variable autores
, la cual contendrá un array de objetos con los datos de los autores. Esta variable se habrá asigando al $scope
en el controlador correspondiente de la forma:
Después de procesar el bucle el código HTML que obtendríamos sería el siguiente:
Condiciones
Además de sustituir variables y crear bucles Angular también permite crear condiciones mediante el uso de ng-if/ng-show
. Ambos atributos realizarán la misma acción: mostrar u ocultar el contenido de la etiqueta en la que se encuentren dependiendo de la condición. Entonces, ¿cuál es la diferencia? Pues muy sencilla: con ng-if
la etiqueta se eliminará del DOM si la condición es falsa, mientras que con ng-show
la etiqueta simplemente se ocultará (pero permanecerá en el DOM).
Por ejemplo, para mostrar un mensaje si la lista de autores estuviera vacía simplemente tendríamos que hacer:
El valor pasado a ng-if/ng-show
puede ser una variable, una expresión o una llamada a una función, por ejemplo:
Y en el controlador podríamos añadir dicho método al $scope
simplemente haciendo:
Más información
Para más información podéis consultar:
Last updated