你可以使用 Angular 的 RxJS 库来实现订阅并将对象推送到数组中。以下是一个示例代码:
在组件中,首先导入必要的模块和服务:
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { YourService } from 'your-service';
@Component({
selector: 'app-your-component',
templateUrl: './your-component.component.html',
styleUrls: ['./your-component.component.css']
})
export class YourComponent implements OnInit {
dataArray: any[] = [];
constructor(private yourService: YourService) { }
ngOnInit() {
// 使用 yourService 中的方法返回一个 Observable 对象
const dataObservable: Observable = this.yourService.getData();
// 订阅 Observable 对象,并在每次数据到达时将其推送到数组中
dataObservable.subscribe(data => {
this.dataArray.push(data);
});
}
}
在服务中,你可以使用 HttpClient 或其他方法来获取数据并返回一个 Observable 对象:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class YourService {
constructor(private http: HttpClient) { }
getData(): Observable {
// 使用 HttpClient 或其他方法获取数据
return this.http.get('your-api-url');
}
}
以上代码会将从 your-api-url
获取的数据推送到 dataArray
数组中。你可以在组件的 HTML 模板中使用 dataArray
来展示数据。
上一篇:Angular订阅和读写同一变量
下一篇:Angular订阅仅触发一次