2016-05-28 9 views
0

私は角度2を学習していますが、サービスを作成しようとしているときにこのエラーが発生しました。私は解決策を探してみましたが、間違いを見ることはできません。角2/Typescript - TypeError:ClassNameがコンストラクタではありません

エラー:

angular2-polyfills.js:1243 TypeError: Tweet is not a constructor 

コード:

export class TweetService{ 
    getTweets(){ 
     return tweets; 
    } 
} 

let tweets = new Tweet("URL", "Author 1", "Handle 1", true, 50); 

class Tweet { 
    image: string; 
    author: string; 
    handle: string; 
    status: "Lorem ipsum dolor sit amet."; 
    isLiked: boolean; 
    favorites: number; 

    constructor(img, aut, hndl, ilkd, fav){ 
     img = this.image; 
     aut = this.author; 
     hndl = this.handle; 
     ilkd = this.isLiked; 
     fav = this.favorites;   
    } 
} 
+0

私はここにあなたのコードをチェックしてきましたhttps://www.typescriptlang.org/play/とすべてはうまくコンパイルされます –

+0

ここでストローでちょうど握っていますが、Tweetクラスをエクスポートしようとしましたか? – Oli

+0

@VasiliyVanchukこれは奇妙なことです。 :) – Ivan

答えて

1

あなたのlet文は、クラス宣言の外に浮いています。これは動作します(ただし、実際のアプリでは、いくつかのHTTP呼び出しか何かに基づいて、あなたのつぶやきを設定されます):

import {Injectable} from '@angular/core'; 

@Injectable() 
export class TweetService{ 
    getTweets(){ 
     let tweets = new Tweet("URL", "Author 1", "Handle 1", true, 50); 
     return tweets; 
    } 
} 

class Tweet { 
    image: string; 
    author: string; 
    handle: string; 
    status: "Lorem ipsum dolor sit amet."; 
    isLiked: boolean; 
    favorites: number; 

    constructor(img, aut, hndl, ilkd, fav){ 
     this.image = img; 
     this.author = aut; 
     this.handle = hndl; 
     this.isLiked = ilkd; 
     this.favorites = fav;   
    } 
} 
+0

あなたは正しいです。これで問題は解決しました。 httpコールについて、私は現在Angular 2を学んでおり、ローカルリポジトリはより実用的です。いったん良くなると、私はRESTful APIを使用します。ありがとうございました。 – Ivan

関連する問題