在Angular 7中,可以通过以下步骤将数据从订阅存储/设置到外部变量,并再次从其他类中读取数据:
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class DataService {
private dataSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);
public data$ = this.dataSubject.asObservable();
setData(data: any) {
this.dataSubject.next(data);
}
}
import { Component } from '@angular/core';
import { DataService } from 'path-to-data-service';
@Component({
selector: 'app-source-component',
template: `
<button (click)="setData()">Set Data</button>
`
})
export class SourceComponent {
constructor(private dataService: DataService) {}
setData() {
const data = 'Hello, World!';
this.dataService.setData(data);
}
}
import { Component, OnInit } from '@angular/core';
import { DataService } from 'path-to-data-service';
@Component({
selector: 'app-destination-component',
template: `
<p>Data: {{ data }}</p>
`
})
export class DestinationComponent implements OnInit {
data: any;
constructor(private dataService: DataService) {}
ngOnInit() {
this.dataService.data$.subscribe(data => {
this.data = data;
});
}
}
通过以上步骤,你可以将数据从订阅存储/设置到外部变量,并在Angular 7中的其他类中读取数据。这种方法适用于在不同组件之间共享数据,并实时更新数据的场景。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库(TencentDB)等。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。
领取专属 10元无门槛券
手把手带您无忧上云