要创建observable
,我创建了一个类,该类使对象和类的next()
保持可观察状态,只要有分配,就这样。
class myObsClass{
private sub;
public obj;
public obj$;
constructor(){
this.sub = new Subject<any>();
this.obj = new Object();
this.obj$ = this.sub.asObservable();
}
set object (value){
this.obj = val;
this.sub.next(this.obj);
}
}
我正在服务中创建其实例,如下所示。
public myObs = new myObsClass();
在组件中,我订阅的是这样的
this.service.myObs.obj$.subscribe(data => {
// something to do with function
});
这很好用。问题是,在闲置10或20分钟后,它根本不调用订阅。
这里可能是什么问题?这种方法好吗?
编写的代码仅用于提供清晰度,如果您粘贴粘贴,则可能无法正常工作。
答案 0 :(得分:0)
您似乎失去了myObsClass
的实际参考。
这里可以帮助您的是-
myObsClass
转换为服务课程providers
的{{1}}列表中。它将为可以在多个组件和服务中引用的服务创建单例。它将维护所有组件之间的引用。注意:在非常普通的模块中添加此服务类。如果不确定,则添加到module
。