Estoy usando Rails 5 + Angular2 para hacer una aplicación web y tengo un modelo llamado "Books". Mi problema es que tengo un archivo llamado "books.ts" que tiene el código:
export class Book { id: number; author_one: string; author_two: string; author_three: string; title: string; subtitle: string; publisher: string; year: date; city: string; edition: number; volume: number; pages: number; ISBN: string; barcode: string; }Pero cuando ejecuto "ng serve --port 9000" recibí el siguiente error:
Cannot find name 'date'.Antes estaba teniendo el mismo problema con otros atributos, porque estaba usando "entero", pero lo cambié a "número" y funcionó, así que me pregunto si es cuestión de que Angular no entienda ciertos tipos de atributos. Pero despues de buscar en internet no he encontrado como declarar una variable de tipo "fecha" en Angular. ¿Hay alguna forma de declarar la variable de tipo fecha? ¿O debería usar una cuerda y tener algún tipo de tratamiento para usarla como una cita?
Esta es una pregunta mecanografiada. No hay un tipo de date en mecanografiado. Puede usar Date para indicar un objeto Fecha de javascript nativo, pero esto es solo la escritura del campo. Angular/TS no hará ninguna magia para que coaccione su valor en un objeto Date. Si sus datos provienen de una fuente JSON, las fechas generalmente son solo cadenas (JSON no admite objetos de fecha).
Puede usar moment.js para una manera más fácil.
import { Moment } from 'moment'; export class Book { id: number; author_one: string; author_two: string; author_three: string; title: string; subtitle: string; publisher: string; year: Moment; city: string; edition: number; volume: number; pages: number; ISBN: string; barcode: string; }Verifique los tipos de datos admitidos en mecanografiado.
https://www.typescriptlang.org/docs/handbook/basic-types.html
El tipo de datos de fecha no está disponible allí. puede usar una cadena o cualquier tipo de datos según sus requisitos.