私はUsernameService
を持っています。これはjsonオブジェクトを含むobservableを返します。 AnotherService
では、UsernameService
オブジェクトから値を注入したいと思います。ObservableからAngular 2の変数に値を設定する方法
これまでのところ、私はUsernameServiceから観測可能なものを購読することができ、コンソールに表示することができます。ドリルダウンして、オブジェクトの値の1つをコンソールに表示することもできます。しかし、私はその値を私が使用できる変数に割り当てる方法を理解していません。私はコンソールで、変数に値を代入しようとする代わりに、私が取得:サブスクライバ{closed: false, _parent: null, _parents: null...etc
は、ここで私は成功し、コンソールで観察可能な値を示しています私の例です:
import { UsernameService } from './username.service';
import { Injectable, OnInit } from '@angular/core';
import 'rxjs/Rx';
@Injectable()
export class AnotherService {
username: any[] = [];
constructor(private getUsernameService: UsernameService) { }
someMethod() {
let myFinalValue = this.getUsernameService.getUsername()
.subscribe(username => console.log(username.data[0].AccountName));
}
}
コードの上変数myFinalValue
に割り当てようとしているAccountName
フィールドの値がコンソールに正しく表示されます。しかし、どこが間違っているのか分かりません。
同じテクニックを使用して(コンソールにログインするのではなく)単純に値を取得しようとすると、前述のように一般的な:サブスクライバー{closed: false, _parent: null, _parents: null
...などが表示されます。
ここに私のエラーが発生したコードの例です:
import { UsernameService } from './username.service';
import { Injectable, OnInit } from '@angular/core';
import 'rxjs/Rx';
@Injectable()
export class AnotherService {
username: any[] = [];
constructor(private getUsernameService: UsernameService) { }
someMethod() {
let myFinalValue = this.getUsernameService.getUsername()
.subscribe(username => this.username = username.data[0].AccountName);
console.log(queryAccountName);
}
}
最終的には、私の目標はただusername.dataから値を割り当てることです[0]変数myFinalValueにを.AccountName 。
ご協力いただきありがとうございます。
OPも(username.json使用しようとするかもしれません)、またはusername.text() – Carsten
その解決策は未定義に戻っています。 – Sol
myFinalValueをバインディングと一緒に使用すると、返される時刻を知ることができません –