我嘗試瞭解更多關於Observable的信息,我使用它們從url獲取一些json數據,但是我有一些get方法的問題。 另外我想知道如果有這個問題的另一個解決方案。使用Angular observable和http
import { Component , ViewChild , AfterViewInit } from '@angular/core';
import {Observable} from 'rxjs/Rx';
import {Http} from '@angular/http';
@Component({
selector: 'app-root',
template: `<h1>Hello World!</h1>
<input type="text" #name >
`,
})
export class AppComponent implements AfterViewInit{
@ViewChild ('name') input;
constructor(private http: Http){}
ngAfterViewInit(){
var keyup = Observable.fromEvent(this.input.nativeElement,"keyup")
.map((data: any) => data.target.value)
.filter(text => text.length >= 3)
.distinctUntilChanged()
.debounceTime(400)
.flatMap(result => {
var url = "https://freemusicarchive.org/api/trackSearch?limit=10&q="+result;
var res = this.http.get(url).map(data => {data.json()});
return res
});
keyup.subscribe(data => console.log(data));
}
}
它說導入
HttpModule
:無法讀取屬性「得到」的未定義 –你永遠不注入HTTP是:http;進入你的構造函數。 – Igor