如何让component.ts在加载模板之前加载数据?

时间:2019-11-26 10:11:07

标签: angular

我的模板上有错误,该错误提供了许多由于早期加载模板而导致的解析错误。请帮忙!

    ngOnInit() {
        this.getProjectDetails();
    }

    getProjectDetails() {
        this.productId.id = this.activatedRoute.snapshot.paramMap.get('id');

        this.amen.getProjectDetails(this.productId).subscribe(
            (response) => {
                this.handleResponse(response);
            },
            (error) => {
                this.error = error.error.error;
            }
        );
    }

    handleResponse(response) {
        console.log('Pro Details---------------', response);
        this.productDetails = {
            image: response.responseData.project_image,
            title: response.responseData.name,
            date: response.responseData.created_at,
            amount: response.responseData.amount,
            description: response.responseData.description,
            video_url: response.responseData.video_url
        };
    }

2 个答案:

答案 0 :(得分:4)

在html内使用它之前,只需检查productDetails是否真实:

<ng-container *ngIf="productDetails">
{{ productDetails.title }}
...

</ng-container>

答案 1 :(得分:0)

正如Z.Balbol所说,首先检查productDetails变量的真实性。您还可以使用以下语法:

<ng-container>
{{ productDetails?.title }}
...

</ng-container>