2
http
リクエストをコンポーネントから分離してサービスに入れようとしていますが、リクエストから取得したレスポンスをコンポーネントのアクションに渡すにはどうすればいいですか?コンポーネントにangle2サービスが渡されました
角度1のように、コントローラで以下のコードを実行して、サービスでhttp
リクエストを実行できます。
var getGenreList = function() {
coreGenreService.getGenreList(vm.id)
.then(function(response) {
console.log(vm.name);
});
}
同じロジックを適用してみましたが、コントローラに応答をどのように渡すことができないのかよくわかりません。
サービス:
getUser(){
this.http.get('http://../api/User?email='+this.customerEmail)
.map(response => response.text())
.subscribe(data => {
if (data) {
var userObj = JSON.parse(data);
this.UserEmail = userObj.EmailAddress;
}
});
}
私は、これはJSONのOBJSを取得しているが、私は、私はオブジェクト内のすべての値が表示されない検索を行うときには、渡されていないので、私は推測していることがわかりますsearchUser()
searchUser() {
this.isLoading = true;
if(!this._searchService.getUser()){
setTimeout(() => {
this.isLoading = false;
}, 500)
}
}
Htmlの入力構造:あなたはrefactoに必要
<input type="text" name="UserEmail" [(ngModel)]="customerEmail" placeholder="Search customer email"> <br>
<button (click)="UserCustomer()" class="omni-btn search-btn float-shadow">Search</button>
おかげで、.subscribeは型「無効」上に存在しないと言っている – nCore
@nCore戻り値の型を明示的に定義する 'getUser():Observable {...}' –
@AndriyTolstoyどこに注入すればよいですか?そのIObservableは名前を見つけることができません。 – nCore