私はオブジェクトの値をサーバーに何度も照会するのではなく、取得しようとしています。角度の観測可能なサブオブジェクトを取得しないでください
しかし、何が間違っているのか間違っていますか?
Iサービスで、次があります。
user$: Observable<any>;
private userChangeSet = new Subject<any>();
constructor(private http: Http, private router: Router) {
this.user$ = this.userChangeSet.asObservable();
}
reloadUserData() {
let url = this.baseapi + '/getuser';
return this.http.get(url)
.map(t=> {
this.updateUser(t.json().user);
return t.json();
});
}
updateUser(object) {
this.userChangeSet.next(object);
}
私は別のコンポーネントでこのようにそれを呼び出すことができる方法はありますか?
if (this.customservice.user.cash < 3000) {
} else {
}
t.json()。ユーザの結果が
{username: username, cash: 1}
とき?
また、なぜこの作品はありませんか?
this.customservice.user$.subscribe((value) => {
this.xxx= value;
});
ここでは、user$
をINFOに
が定義されていないと言うので。ログイン時にreloagUserDataを呼び出す私は再びそれを呼び出すために探していない。私はちょうどユーザー変数を呼び出すためにlooing。
私は、私はすでにそれを持っていたことを話題に追加するのを忘れ。今更新しました。それはまだ何とか働いていない。 変数自体から直接取得することはできますか?だから私はreloaduserdataを呼び出す必要はありません?私はそれをどこか別の場所に呼びます。 – maria
あなたは 'Observable'を使い、' Subject'は** shared service **を使うのです。共有サービスは、コンポーネント間でデータを通信して渡すために使用されます。コミュニケーションを起こさせずに、同じコンポーネント内ですべてをやりたい場合は、メソッドを作成してデータを収集し、それを持っているだけです。完全なコンポーネントコードを投稿して、私があなたが達成しようとしていることを考えてください。 ;) – SrAxi
私はu btwに与えた他のリンクをチェックしましたか?とにかく、私のアイデアは、サービス内のものが、他のコンポーネントが購読してそれをさらに使用するvvariableを更新するということです。 – maria