确认数据是否已成功获取
在 ngOnInit()
生命周期钩子中检查数据是否已成功获取,例如:
ngOnInit() {
this.blogService.getBlog(this.blogId).subscribe(
(data: any) => {
this.blog = data;
console.log(this.blog); // 确认数据已成功获取
},
(error: any) => console.error(error)
);
}
更新数据绑定
在组件中使用了数据绑定语法时,可能需要手动更新数据以触发变更检测器。例如:
{{ blog.title }}
{{ blog.content }}
在数据更新后,可以使用 ChangeDetectorRef
手动触发变更检测器,例如:
import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
@Component({
// ...
})
export class BlogDetailsPageComponent implements OnInit {
blog: any;
constructor(
private blogService: BlogService,
private cdr: ChangeDetectorRef // 注入 ChangeDetectorRef
) {}
ngOnInit() {
this.blogService.getBlog(this.blogId).subscribe(
(data: any) => {
this.blog = data;
console.log(this.blog); // 确认数据已成功获取
this.cdr.detectChanges(); // 手动触发变更检测器
},
(error: any) => console.error(error)
);
}
}
通过以上方法,可以解决 Angular 博客详情页在刷新页面前不显示数据的问题。