2017-04-19 10 views
3

私はRails 5 + Angular2を使ってWebアプリケーションを作成しています。私は "Books"というモデルを持っています。私が実行したとき、私は、次のエラーを得た「NGを9000 --port仕える」angular2モデルの日付属性を宣言する方法

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; 
} 

:しかし

Cannot find name 'date'. 
私の問題は、私は、コードを持っている「books.ts」と呼ばれるファイルを持っているということです

「整数」を使用していたので、他の属性と同じ問題が発生する前は、「数値」に変更して機能しましたので、特定の種類の属性を理解しないAngularの質問があるかどうか疑問に思っています。しかし、インターネットを検索した後、 "date"型の変数をAngularで宣言する方法が見つかりませんでした。 date型の変数を宣言する方法はありますか?または、文字列を使用して日付として使用するには何らかの処理を行う必要がありますか?

答えて

3

これはタイピッチの質問です。 typescriptにはdateタイプはありません。 Dateを使用すると、ネイティブのjavascriptのDateオブジェクトを指定できますが、これはフィールドの型付けに過ぎません。 Angular/TSはあなたの値をDateオブジェクトに強制する魔法を何もしません。データがJSONソースからのものである場合、日付は通常は文字列です(JSONは日付オブジェクトをサポートしません)。

+0

これはタイスクリプト関連の質問ではありませんでした。ありがとうございました。 –

0

JavaScriptの日付の種類はありません、Date JavaScriptのタイプを使用してください。

1

typecriptでサポートされているデータ型を確認してください。

https://www.typescriptlang.org/docs/handbook/basic-types.html

日付データ型が使用できません。あなたの要件に応じて文字列または任意のデータ型を使用することができます。

+0

私はそれがタイスクリプト関連の質問であることを知らなかった。ありがとうございました。 –

0

もっと簡単な方法として、moment.jsを使用できます。

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; 
} 
関連する問題