有一個用戶主題:
public users$ = new BehaviorSubject();
在組件內部,我讓用戶成為觀察者:
class Component {
public users$: Observable<User>;
public move() {
if(this.users$.length) {
this.dialog.open(DialogComponeent, {});
}
}
}
所以,我需要從users$in 方法中獲取值move()并將其傳遞給對話框視窗。怎么做?
uj5u.com熱心網友回復:
此時您可以直接訪問 BehaviorSubject 的值。你的代碼應該是這樣的:
簡單的方法:
class Component {
public users$: Observable<User>;
public move() {
if(this.users$.value.length) {
this.dialog.open(DialogComponeent, {
data: this.users$.value
});
}
}
}
更方便的方式:
class Component {
public users$: Observable<User>;
public move() {
this.users$.pipe(
first(),
filter(value => value.length),
).subscribe(value =>
this.dialog.open(DialogComponeent, {
data: value
})
);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/345351.html
標籤:有角的
