2016-09-17 5 views
0

Ich versuche Service in meiner Komponente zu injizieren, und ich bekomme diese Fehlermeldung:Es können nicht alle Parameter lösen

enter image description here

news.component.ts

import { Component,OnInit } from '@angular/core'; 
import { NewsService } from './index'; 


declare var jQuery:any; 

@Component({ 
    moduleId: module.id, 
    selector: 'news-selector-comp', 
    templateUrl:'news.html' 

}) 

export class NewsSelectorComponent implements OnInit { 

     isLoading = true; 
     isError = false; 
     News:any; 


     constructor(public newsService:NewsService) { } 

} 

news.module.ts

enter image description here

import {Http, Headers} from '@angular/http'; 
import { Injectable } from '@angular/core'; 
import { News, NewsImp } from './news'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class NewsService { 

_url = '<%= SYSTEM_URL%>/news'; 
token = window.localStorage.getItem('token'); 
user_id = window.localStorage.getItem('user_id'); 
    constructor(private _http:Http) { 

    } 

    getNews() : Observable<NewsImp[]> { 

     return this._http.get('https://jsonplaceholder.typicode.com/posts').map(res => res.json()); 
    } 

    postNews() : Observable<News[]> { 

     var headers = new Headers(); 
      headers.append('Content-Type', 'application/json'); 

     var news = { 
     user_id: this.user_id, 
     token : this.token 
     }; 

     return this._http.post(this._url, JSON.stringify(news), {headers:headers}).map(res => res.json().data); 
    } 

} 
+0

können Sie uns NewsService-Code zeigen? – micronyks

+0

Veröffentlichen Sie Ihren Code immer als Code, nicht als Bild. –

+2

Hinzufügen von HttpModule im Imports Array von NewsModule – Siraj

Antwort

0

Alles sieht in Ordnung nach Ihrem Code erwarten unten Teil.

import { BrowserModule } from '@angular/platform-browser'; 
import {NewsService} from './index'; 
@NgModule({ 
    imports:  [BrowserModule], 
    //In you main module, you should use BrowswerModule as shown here. 
    // In feature module you should use CommonModule 

    declarations: [NewsSelectorComponent], 
    providers: [NewsService], 
    bootstrap: [NewsSelectorComponent] 
}) 

Ich denke, dieser Code sollte funktionieren.

1

Ich habe dieses Problem selbst gesehen, aber aus einem anderen Grund. Ich merke, Sie die „Fässer“ -Ansatz verwenden hier:

import { NewsService } from './index'; 

Versuchen Sie, die Klasse Newsservice direkt aus der Datei importieren aus exportiert wurde. Dies scheint ein häufiges Problem zu sein.

Verwandte Themen