可能是由于数据未准备好,导致在ngOnInit方法中无法成功加载。解决方案是将数据加载移到ngAfterViewInit方法中,并将ngOnInit中的代码移动到ngAfterViewInit中。这样可以确保在ngOnInit触发之后,数据已经准备好并且可以被加载。
示例代码:
import { Component, OnInit, AfterViewInit } from '@angular/core';
@Component({ selector: 'app-data-component', templateUrl: './data.component.html', styleUrls: ['./data.component.css'] }) export class DataComponent implements OnInit, AfterViewInit { data: any;
ngOnInit() { // 不要在此处加载数据 }
ngAfterViewInit() { // 将数据加载移到此处 this.loadData(); }
loadData() { // 加载数据的代码 this.data = [{},{},{}]; } }
这样,通过将数据加载到ngAfterViewInit方法中,就可以确保数据已准备好,可以被正确的加载到组件中。