原因是在订阅BehaviorSubject之前,其值可能为undefined。因此,我们需要在初始化时为BehaviorSubject设置初始值。
以下是示例代码:
import { BehaviorSubject } from 'rxjs';
@Component({
selector: 'my-component',
template: '{{ myValue }}',
})
export class MyComponent implements OnInit {
myValue: string;
mySubject$: BehaviorSubject
ngOnInit(): void {
this.mySubject$ = new BehaviorSubject
// 订阅值
this.mySubject$.subscribe(value => {
this.myValue = value;
});
} }
在这个示例中,我们在初始化时设置了BehaviorSubject的初始值为“Initial Value”。然后我们订阅了mySubject$,以便在BehaviorSubject的值发生更改时更新myValue。