私はニュースフィードを提供するために私のウェブサイトの機能に取り組んでいます。ニュースフィードを取得するには、ここからAPIキーを生成しました:News API私が直面している問題は、ブラウザにコンテンツを表示できないことです。私は私のコードを共有しましょう:コンテンツが表示されない:角2
results.component.html results.component.htmlで
<ul type="none" id="search-options">
<li [class.active_view]="Display('all')" (click)="docClick()">All</li>
<li [class.active_view]="Display('news')" (click)="newsContent()">News</li>
<li [class.active_view]="Display('images')" (click)="imageClick()">Images</li>
<li [class.active_view]="Display('videos')" (click)="videoClick()">Videos</li>
</ul>
、それは4つのタブがあります。名前のついたタブ:すべて、画像、ビデオ - クエリに基づいて目的の結果が取得されるサーバーからデータを取得しています。しかし、Newsタブでは、私は上記のAPIと統合しようとしています。そのタブをクリックすると、ニュースフィードが表示されるはずです(単純なままです)。しかし、ニュースタブをクリックしても何も表示されません。 (コンソールエラーはありません)ただし、私がhtml
リピーターを使用している場合は、ここでどのように使用するのですか?
news.component.ts
newsFeed: {};
resultDisplay: string;
constructor(private _newsService: NewsService) {}
Display(S) {
return (this.resultDisplay === S);
}
newsContent() {
this.resultDisplay = 'news';
this._newsService.getNews().subscribe(data => {
this.newsFeed = Object.assign({}, data);
});
}
news.service.ts
import { Injectable } from '@angular/core';
import { Http, Jsonp } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class NewsService {
public generalNews: string = 'https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=abc123';
constructor(
private http: Http,
private jsonp: Jsonp
) { }
getNews() {
return this.http.get(this.generalNews).map(response => {
response.json()
});
}
}
誰もが私がやっているの間違いを指摘して提供できる場合、それは素晴らしいことです私はそれを改善するための解決策です。前もって感謝します。 :)
?コンソールのエラー? –
RSSタイプのフィードのような通常のニュースフィードと同じように。コンソールエラーはありません。 :) –
申し訳ありませんが、私はニュースの表示のためのあなたのプレースホルダーが何であるか把握していないようです。私はあなたがニュースの配列を取得すると信じています。しかし、あなたは 'html'にリピーターを持っていません。また、 '' Display( 'news') ''関数を呼び出すこともありますが、実装もありません。もっとコードを提供する必要があります –