2016-04-05 11 views
0

私は簡単なサービスで何か間違っていますが、私はそれを理解できません。AngularJS 2 - サービスエラー

app.component.ts

import { MeetingService } from '../../shared/services/meeting.service'; 

@Component({ 
    viewProviders: [MeetingService], 
}) 

meetingService.ts

@Injectable(); 

export class MeetingService { 

    constructor(private http: Http) {} 

    getList() { 
    return this.http.get('../fake-data/meetingList.json') 
     .map(response => response.json()); 
    } 
} 

meetingList.component.ts

import { MeetingService } from '../../shared/services/meeting.service'; 

@Component({ 
    viewProviders: [HTTP_PROVIDERS, MeetingService], 
}) 

export class MeetingListComponent { 
    private meetingList: any; 

    constructor(private meetingService: MeetingService) {} 

    getList() { 
    this.meetingService.getList().subscribe(
     data => { this.meetingList = data; }, 
     err => console.error(err), 
    () => console.log('done loading meeting list') 
    ); 
    } 

    ngOnInit() { 
    this.getList(); 
    } 
} 

エラー

EXCEPTION: Cannot resolve all parameters for 'MeetingService'(?). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'MeetingService' is decorated with Injectable. 

誰かがそれを見ることができますか?ありがとうございました。

答えて

2

だけ;

@Injectable()
@Injectable() 
export class MeetingService { 

    constructor(private http: Http) {} 

    getList() { 
    return this.http.get('../fake-data/meetingList.json') 
     .map(response => response.json()); 
    } 
} 
+0

が、それは動作しますが、ありがとう、ブートストラップ中にアプリケーション・プロバイダーにHttpを追加しました。どのようにこれがコードを壊すのでしょうか? –

+0

';'はステートメントが終了したことを意味します。 –

0

を削除するあなたは、ブートストラップコードを表示しない - あなたは、例えば、

bootstrap(App, [HTTP_PROVIDERS]) 
関連する問題