import { Component , OnInit } from '@angular/core' ; /**  1 importar el servicio*/ import { MovimientosService , MovimientoModel } from '../shared/' ; import { provide } from '@angular/core' ; @ Component ( { moduleId : module . id , selector : 'movimiento' , templateUrl : 'movimiento.component.html' , styleUrls : [ 'movimiento.component.css' ] , providers : [ provide ( MovimientosService , { useClass : MovimientosService } ) , provide ( MovimientoModel , { useValue : { _id : new Date ( ) . toDateString ( ) , tipo : "Ingreso" , categoria : "Nómina" , fecha : new Date ( ) , importe : 10 } } ) , provide ( String , { useFactory : ( ) => { if ( new Date ( ) . getDay ( ) == 14 ) return "algo" ; else return "otra cosa" ; } } ) ] } ) export class MovimientoComponent implements OnInit { sentidoOrden : number = 1 ; /** 3 declarar el servicio en constructor para su inyección*/ constructor ( private movimientosService , private movimiento , private cadena ) { console . log ( cadena ) ; } ngOnInit ( ) { this . movimiento = { _id : new Date ( ) . toDateString ( ) , tipo : "Ingreso" , categoria : "Nómina" , fecha : new Date ( ) , importe : 0 } ; } guardarMovimiento ( ) { this . movimientosService . guardarMovimiento ( this . movimiento ) ; } ordenarPor ( campo ) { this . sentidoOrden = - 1 * this . sentidoOrden ; this . movimientosService . ordenarPor ( campo , this . sentidoOrden ) ; } fecha ( cadena ) { return new Date ( cadena ) ; } }