angular 2でhttpでオブザーバブルを使用するのは本当に難しいと思います。以下のコードでは、in method:
値がコンソールに正常に出力されます。しかし、印刷しようとしたときですMain:
。undefined
から値を取得するにはどうすればよいMain
ですか?
テンプレート コード:
template:`
<input
class="form-control"
[formControl]="searchBox"
placeholder="Search Spotify artist" />
`
コンポーネントコード:
export class SpotifySearchComponent {
private searchBox = new FormControl();
constructor(private _http: Http){
}
ngAfterViewInit() {
var keyups = this.searchBox
.valueChanges
.debounceTime(200)
.map(searchTerm => {
this.getResults(searchTerm);
});
var subscription = keyups.subscribe(res => console.log("Main:" + res));
}
getResults(searchTerm){
console.log("in method:" + searchTerm);
return searchTerm;
}
}