环境:Angular2+现在有一个组件内部classDemo01{data$:Observable; constructor(privateservice:MyService){}OnInit(){this.data$=this.service.getData();}submit(){//在这里我需要拿到this.data$中的数据去做一些处理//如果直接对this.data$进行订阅的话,就会进入MyService中的getData()方法重新获取一次数据,但是我不想这样//**目前我的办法是,看下面的ts**}}Service:classMyService{getData():Observable{ returnof(['1','2','3','4'])//这里有可能是个http请求}}模板:{{item}} 我的解决办法是:classDemo01{data$:Observable; data:string[]constructor(privateservice:MyService){}OnInit(){this.data$=this.service.getData().pipe(//使用tap操作符监控this.data$,将其中的数据缓存一份到this.datatap(data=>{this.data=data;}));}submit(){//在这里使用this.data}}不知道是否还有其他的操作能够解决这种场景呢?
弑天下
慕神8447489
相关分类