web-dev-qa-db-fra.com

comment déclarer un attribut de date sur le modèle angular2

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?

5
Makrau

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).

14
adharris

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.

4

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;
}
0
Danu Akbar

il n'y a pas de date de type en javascript, veuillez utiliser Date type de javascript.

0
Julia Passynkova