【发布时间】:2018-08-27 07:00:25
【问题描述】:
我正在玩弄 ionic(基于 angular 构建的框架),我对 rxjs 的 Observable 模式有点困惑。我有以下情况:
- 我想创建一个服务来保存“实时”更新计数器,比如说未读消息。
- 我想要一个外部影响来改变这个值,比如说一个信号接收到的消息
我有类似以下代码的内容,但在 MyApp 中进行订阅时出错。我很难找到如何从 MyApp 发布新值。我相信正常的过程是在创建 Observable 时使用回调函数。
谁能指出我正确的方向?
@Injectable()
export class DataProvider {
numbers: Observable<number>;
constructor(public http: HttpClient) {
this.numbers = new Observable<number>();
}
get_n_messages()
{
return this.numbers;
}
}
@Component({
templateUrl: 'app.html'
})
export class MyApp {
subscription: any;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, oneSignal: OneSignal, dataCtrl: DataProvider) {
this.subscription = dataCtrl.get_n_messages().subscribe( x => {});
}
private onPushReceived(payload: OSNotificationPayload) {
alert('Push recevied:' + payload.body);
this.subscription.next(666);1
}
}
【问题讨论】:
标签: javascript angular ionic-framework rxjs observable