SlideShare una empresa de Scribd logo
1 de 15
AngularJS
Filtros y servicios
Álvaro Alonso
Contenidos
 Filtros
 Servicios
2
Filtros
 Dan formato al valor de una expresión para mostrarla al usuario
 Pueden utilizarse en
 Templates
 Controladores
 Servicios
 Directivas
 Existe una colección de filtros predefinidos en Angular
 https://docs.angularjs.org/api/ng/filter
 Pero se pueden definir filtros personalizados
3
Filtros
 En Templates
 Filtros en cadena
 Filtros con argumentos
 Se ejecutan únicamente cuando cambia el valor de entrada
 Excepto cuando se aplican sobre Objects
 o cuando se trata de filtros personalizados de tipo $stateful
4
{{ expression | filter }}
{{ expression | filter1 | filter2 | ... }}
{{ expression | filter:argument1:argument2:... }}
Filtros
 En controladores, servicios y directivas
 Hay que inyectar una dependencia con el nombre {filterName}Filter
 Se trata de una función
 Primer parámetro: valor a formatear
 Segundo y siguientes: parámetros del filtro
5
{filterName}Filter = function(valueToFormat, filterParam1, filterParam2, …)
EJEMPLO
Filtros
6
EJERCICIO
Filtros
7
 Utilizar en la aplicación el filtro date para formatear la fecha de nacimiento del
paciente
 Debe utilizarse en el template HTML
 En el informe generado por printInform usar el fintro Uppercase para mostrar
el nombre del paciente en mayúsculas
 Debe utilizarse en el controlador
Servicios
 Objetos inyectables para organizar y compartir el código de una app.
 Lazily instantiated: no se instancian hasta que un componente depende
de ellos.
 Singletons: cada componente que depende de un servicio obtiene una
referencia a una instancia diferente.
 Existen servicios predefinidos en Angular
 Empiezan por $ (ej. $http)
 https://docs.angularjs.org/api/ng/service
 Pueden definirse servicios personalizados
8
Servicios
 Para usar un servicio ha de inyectarse como dependencia del componente
 Controlador, servicio, filtro o directiva
9
angular.module('myServiceModule', []).
controller('MyController', ['$scope', '$http', function($scope, $http) {
$http(
….
);
}])
Servicios
 Para crear un servicio personalizado hay que registrarlo en un módulo
 Un servicio puede tener sus propias dependencias
10
angular.module('myModule', [])
.factory(’myService', function() {
return {
myServiceMethod: function () {…}
}
});
angular.module('myModule', [])
.factory(’myService', [‘$log’, function($log) {
return {
myServiceMethod: function () {…}
}
}]);
Servicios
11
EJEMPLO
Servicios
12
EJERCICIO
Servicios
13
 Modificar la aplicación para que el cálculo del IMC se realice mediante una
función definida en un servicio
Documentación
 Filtros
 https://docs.angularjs.org/guide/filter
 Filtros predefinidos
 https://docs.angularjs.org/api/ng/filter
 Servicios
 https://docs.angularjs.org/guide/services
14
AngularJS
Filtros y servicios
Álvaro Alonso

Más contenido relacionado

La actualidad más candente (15)

Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
 
Javascript + Angular Sesion 3
Javascript + Angular Sesion 3Javascript + Angular Sesion 3
Javascript + Angular Sesion 3
 
ASP.NET MVC - validacion de datos
ASP.NET MVC - validacion de datosASP.NET MVC - validacion de datos
ASP.NET MVC - validacion de datos
 
Presentacion
PresentacionPresentacion
Presentacion
 
ASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio SerranoASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio Serrano
 
Angularjs Lógica de negocio
Angularjs Lógica de negocioAngularjs Lógica de negocio
Angularjs Lógica de negocio
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion
 
Introjsp
IntrojspIntrojsp
Introjsp
 
Manejo de eventos
Manejo de eventosManejo de eventos
Manejo de eventos
 
DevNights Xamarin: Custom Renderers
DevNights Xamarin: Custom RenderersDevNights Xamarin: Custom Renderers
DevNights Xamarin: Custom Renderers
 
Api De Google Calendar
Api De Google CalendarApi De Google Calendar
Api De Google Calendar
 
Servicios web
Servicios webServicios web
Servicios web
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Hands on Spring 2.5
Hands on Spring 2.5Hands on Spring 2.5
Hands on Spring 2.5
 

Similar a Curso AngularJS - 4. filtros y servicios

Similar a Curso AngularJS - 4. filtros y servicios (20)

Introduccion a AngularJS
Introduccion a AngularJSIntroduccion a AngularJS
Introduccion a AngularJS
 
Como usar el Angular CLI
Como usar el Angular CLIComo usar el Angular CLI
Como usar el Angular CLI
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Tontería enorme
Tontería enormeTontería enorme
Tontería enorme
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Angular Fundamentals
Angular FundamentalsAngular Fundamentals
Angular Fundamentals
 
Introducción a Angular 6
Introducción a Angular 6Introducción a Angular 6
Introducción a Angular 6
 
Semana 4 Estructura y componentes SPA
Semana 4  Estructura y componentes SPASemana 4  Estructura y componentes SPA
Semana 4 Estructura y componentes SPA
 
Angular js
Angular jsAngular js
Angular js
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Django y Python para todos
Django y Python para todosDjango y Python para todos
Django y Python para todos
 
Javascript + Angular Sesion 5
Javascript + Angular Sesion 5Javascript + Angular Sesion 5
Javascript + Angular Sesion 5
 
UDA-Componentes RUP. Menú contextual
UDA-Componentes RUP. Menú contextualUDA-Componentes RUP. Menú contextual
UDA-Componentes RUP. Menú contextual
 
Clase 19 programación en base a patrones
Clase 19 programación en base a patronesClase 19 programación en base a patrones
Clase 19 programación en base a patrones
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
 
Advanced angular 2
Advanced angular 2Advanced angular 2
Advanced angular 2
 
2011 1 ir-ma-pc3_a_con_solucion
2011 1 ir-ma-pc3_a_con_solucion2011 1 ir-ma-pc3_a_con_solucion
2011 1 ir-ma-pc3_a_con_solucion
 

Más de Álvaro Alonso González

Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your appÁlvaro Alonso González
 
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWAREKeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWAREÁlvaro Alonso González
 
Lesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portalLesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portalÁlvaro Alonso González
 
Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure Álvaro Alonso González
 
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.Álvaro Alonso González
 
Cloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal OverviewCloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal OverviewÁlvaro Alonso González
 
Cloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an InstanceCloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an InstanceÁlvaro Alonso González
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationÁlvaro Alonso González
 
Adding Identity Management and Access Control to your Application - Exersices
Adding Identity Management and Access Control to your Application - ExersicesAdding Identity Management and Access Control to your Application - Exersices
Adding Identity Management and Access Control to your Application - ExersicesÁlvaro Alonso González
 
Setting Up your Cloud Environment using the FIWARE Lab Cloud Portal
Setting Up your Cloud Environment using the FIWARE Lab Cloud PortalSetting Up your Cloud Environment using the FIWARE Lab Cloud Portal
Setting Up your Cloud Environment using the FIWARE Lab Cloud PortalÁlvaro Alonso González
 

Más de Álvaro Alonso González (16)

Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
 
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWAREKeyRock and Wilma - Openstack-based Identity Management in FIWARE
KeyRock and Wilma - Openstack-based Identity Management in FIWARE
 
Lesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portalLesson 6 - How to register your sensors in account portal
Lesson 6 - How to register your sensors in account portal
 
Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure Lesson 5 - Installing Keyrock in your own infrastructure
Lesson 5 - Installing Keyrock in your own infrastructure
 
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
Keyrock - Lesson 3. Applications. How to create OAuth2 tokens.
 
Keyrock - Lesson 1. Introduction
Keyrock - Lesson 1. IntroductionKeyrock - Lesson 1. Introduction
Keyrock - Lesson 1. Introduction
 
Cloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasksCloud Portal - Lesson 5. Advanced tasks
Cloud Portal - Lesson 5. Advanced tasks
 
Cloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing StorageCloud Portal - Lesson 4. Managing Storage
Cloud Portal - Lesson 4. Managing Storage
 
Cloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal OverviewCloud Portal - Lesson 2. Cloud Portal Overview
Cloud Portal - Lesson 2. Cloud Portal Overview
 
Cloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. IntroductionCloud Portal - Lesson 1. Introduction
Cloud Portal - Lesson 1. Introduction
 
Cloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an InstanceCloud Portal - Lesson 3. Launching an Instance
Cloud Portal - Lesson 3. Launching an Instance
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Introducción al Protocolo OAuth 2.0
Introducción al Protocolo OAuth 2.0Introducción al Protocolo OAuth 2.0
Introducción al Protocolo OAuth 2.0
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your Application
 
Adding Identity Management and Access Control to your Application - Exersices
Adding Identity Management and Access Control to your Application - ExersicesAdding Identity Management and Access Control to your Application - Exersices
Adding Identity Management and Access Control to your Application - Exersices
 
Setting Up your Cloud Environment using the FIWARE Lab Cloud Portal
Setting Up your Cloud Environment using the FIWARE Lab Cloud PortalSetting Up your Cloud Environment using the FIWARE Lab Cloud Portal
Setting Up your Cloud Environment using the FIWARE Lab Cloud Portal
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Curso AngularJS - 4. filtros y servicios

  • 3. Filtros  Dan formato al valor de una expresión para mostrarla al usuario  Pueden utilizarse en  Templates  Controladores  Servicios  Directivas  Existe una colección de filtros predefinidos en Angular  https://docs.angularjs.org/api/ng/filter  Pero se pueden definir filtros personalizados 3
  • 4. Filtros  En Templates  Filtros en cadena  Filtros con argumentos  Se ejecutan únicamente cuando cambia el valor de entrada  Excepto cuando se aplican sobre Objects  o cuando se trata de filtros personalizados de tipo $stateful 4 {{ expression | filter }} {{ expression | filter1 | filter2 | ... }} {{ expression | filter:argument1:argument2:... }}
  • 5. Filtros  En controladores, servicios y directivas  Hay que inyectar una dependencia con el nombre {filterName}Filter  Se trata de una función  Primer parámetro: valor a formatear  Segundo y siguientes: parámetros del filtro 5 {filterName}Filter = function(valueToFormat, filterParam1, filterParam2, …)
  • 7. EJERCICIO Filtros 7  Utilizar en la aplicación el filtro date para formatear la fecha de nacimiento del paciente  Debe utilizarse en el template HTML  En el informe generado por printInform usar el fintro Uppercase para mostrar el nombre del paciente en mayúsculas  Debe utilizarse en el controlador
  • 8. Servicios  Objetos inyectables para organizar y compartir el código de una app.  Lazily instantiated: no se instancian hasta que un componente depende de ellos.  Singletons: cada componente que depende de un servicio obtiene una referencia a una instancia diferente.  Existen servicios predefinidos en Angular  Empiezan por $ (ej. $http)  https://docs.angularjs.org/api/ng/service  Pueden definirse servicios personalizados 8
  • 9. Servicios  Para usar un servicio ha de inyectarse como dependencia del componente  Controlador, servicio, filtro o directiva 9 angular.module('myServiceModule', []). controller('MyController', ['$scope', '$http', function($scope, $http) { $http( …. ); }])
  • 10. Servicios  Para crear un servicio personalizado hay que registrarlo en un módulo  Un servicio puede tener sus propias dependencias 10 angular.module('myModule', []) .factory(’myService', function() { return { myServiceMethod: function () {…} } }); angular.module('myModule', []) .factory(’myService', [‘$log’, function($log) { return { myServiceMethod: function () {…} } }]);
  • 13. EJERCICIO Servicios 13  Modificar la aplicación para que el cálculo del IMC se realice mediante una función definida en un servicio
  • 14. Documentación  Filtros  https://docs.angularjs.org/guide/filter  Filtros predefinidos  https://docs.angularjs.org/api/ng/filter  Servicios  https://docs.angularjs.org/guide/services 14