J'utilise Rails 5 + Angular2 pour créer une application Web et j'ai un modèle appelé "Livres". Mon problème, c'est que j'ai un fichier appelé "books.ts" qui a le code:
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;
}
Mais quand je lance "ng serve --port 9000", j'ai l'erreur suivante:
Cannot find name 'date'.
Avant, j'avais le même problème avec d'autres attributs, parce que j'utilisais "entier", mais je l'ai changé en "nombre" et cela a fonctionné. Je me demande donc si c'est une question de Angular ne comprenant pas certains types d'attributs. Mais après une recherche sur Internet, je n’ai pas trouvé comment déclarer une variable de type "date" dans Angular . Y at-il un moyen de déclarer la variable de type date? Ou devrais-je utiliser une chaîne et avoir une sorte de traitement pour l'utiliser comme une date?
Ceci est une question TypeScript. Il n'y a pas de type date
dans TypeScript. Vous pouvez utiliser Date
pour indiquer un objet Date javascript natif, mais il ne s'agit que de la saisie du champ. Angular/TS ne fera pas de magie pour contraindre votre valeur dans un objet Date. Si vos données proviennent d'une source JSON, les dates ne sont généralement que des chaînes (JSON ne prend pas en charge les objets de date).
Veuillez vérifier les types de données pris en charge dans TypeScript.
https://www.typescriptlang.org/docs/handbook/basic-types.html
Le type de données date n'y est pas disponible. vous pouvez utiliser le type de données string ou any selon vos besoins.
Vous pouvez utiliser moment.js pour plus facilement.
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;
}
il n'y a pas de date de type en javascript, veuillez utiliser Date type de javascript.