【发布时间】:2018-02-26 14:38:48
【问题描述】:
我正在使用注射剂在两个同级组件之间共享数据。在我的注射剂中,我正在使用这样的可观察对象:
@Injectable()
export class DatasService {
message: Observable<string> = new Observable<string>();
changeMessage(){
this.message.next('Arpita'); //Property next doesn't exist
}
changeMessage2(){
this.message.next('Ankan');
}
}
但是当我使用 Subject 代替 Observable 时,它可以正常工作。我想使用 Observable 而不是 Subject,有可能吗? 我是响应式编程的新手,我很困惑。
【问题讨论】:
-
“我想使用 Observable 而不是 Subject” - 为什么?!
-
@jonrsharpe 很好,我明白了为什么我现在得到 dv
-
因为当我使用主题时,我无法设置默认值。我知道,我可以为此使用 BehaviorSubject,但由于是响应式新手,我想暂时坚持使用 observables
-
我只是想知道在不使用主题的情况下是否有任何解决方法
-
所以你想使用一个可观察对象,因为你不能为一个主题设置一个默认值,除非你已经知道你可以创建一个具有默认值的主题?您的问题非常令人困惑:如果您可以使用 observable 作为主题 为什么该主题会存在?
标签: angular typescript observable subject-observer