Tengo una función a la que llamo varias veces cuando necesito procesar una fecha:
dateFormat(myDate, format) { let temp=this.datePipe.transform(myDate, format) return(temp) }Esto solo formatea una fecha.
let niceDate=dateFormat(mydate, 'MM/dd/yyyy')El problema es que necesito llamarlo desde varios componentes. Estaba buscando servicios, parece que no es lo que estoy buscando (puede que me equivoque). Me pregunto si esto se puede lograr como en Node.js, pero en Angular.
¿Cuál es la forma correcta de almacenar varias funciones en un archivo, importar ese archivo y llamar a las funciones desde otros componentes?
Gracias.
Puede crear un archivo de utilidad común en el que puede implementar las funciones que se utilizarán en toda la aplicación. Ahora solo necesita importar ese archivo en cualquier componente y usar esa función estática.
Por ejemplo: archivo Utils.ts
export class Utils { constructor() { } dateFormat(myDate, format) { let temp=this.datePipe.transform(myDate, format) return(temp) } } archivo component.ts
import { Component, OnInit} from '@angular/core'; import { Utils } from 'src/app/shared/utils/utils'; export class TestComponent implements OnInit{ myDate = new Date(); format = 'MM/DD/YYYY' constructor() { } covnervtDate(){ return Utils.dateFormat(this.myDate, this.format); } }Si solo está creando funciones de utilidad que no dependen del estado actual de su aplicación, simplemente puede exportar cada función desde un archivo ts .
Cree un archivo date.util.ts y exporte todas sus funciones
export function dateFormat(myDate, format) { let temp=this.datePipe.transform(myDate, format) return(temp) }Ahora puede importar la función en sus archivos de componentes:
import * as DateUtil from './utility/date.utils'; ... DateUtil.dateFormat() Para una mejor estructuración de carpetas, suelo crear una carpeta de utilidades con un archivo index.ts que exporta todas las funciones de utilidades. Ventaja - Sacudidas de árboles . Todas las funciones no utilizadas no llegarán al paquete final.
Cuando tus funciones modifican el estado de la app:
Si necesita guardar el estado de la aplicación/componente, debe crear services e inyectarlos en los archivos de sus componentes. Lea más sobre la creación de servicios aquí
La forma correcta de almacenar varias funciones en un archivo, importar ese archivo y llamar a las funciones desde otros componentes es simplemente service .
Sugerencias:
return this.datePipe.transform(myDate, format)