在Angular 9+中,我们可以通过使用ActivatedRoute服务来从路由中获取数据。以下是一个解决方法的代码示例:
import { ActivatedRoute } from '@angular/router';
import { DataService } from 'path/to/data.service';
constructor(private route: ActivatedRoute, private dataService: DataService) {}
ngOnInit() {
this.route.params.subscribe(params => {
const id = params['id']; // 获取路由参数id的值
// 根据参数id获取数据
this.dataService.getDataById(id).subscribe(data => {
// 处理数据
});
});
this.route.queryParams.subscribe(queryParams => {
const page = queryParams['page']; // 获取查询参数page的值
// 根据查询参数获取数据
this.dataService.getDataByPage(page).subscribe(data => {
// 处理数据
});
});
}
在上述代码中,我们使用params属性来订阅路由参数的变化,并通过getDataById方法从数据服务中获取相应的数据。类似地,我们使用queryParams属性来订阅查询参数的变化,并通过getDataByPage方法获取相应的数据。
注意:上述代码示例中的dataService是一个自定义的数据服务,你需要根据自己的需求替换成你自己的数据服务。
希望以上的解决方法能够帮助到你!