gpt4 book ai didi

angular - 组件未加载 *ngIf 中的变量更改

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:56 24 4
gpt4 key购买 nike

当加载变量更改为 false 时,app-loadingspinner 将停止显示,这符合预期。但据我了解,同时 app-paginator 应该开始显示,但这并没有发生。我怀疑我的理解不正确。如果是这样,我们如何才能实现预期的行为?

交易.component.html

<app-loadingspinner *ngIf="loading"></app-loadingspinner>
<div fxLayout="row" fxFlex.md="70" fxLayoutWrap class="card-deck-container mat-elevation-z4">
<div fxFlex *ngFor="let deal of deals" class="card-item">
<app-deals-card [ngStyle]="{'width':'300' + 'px'}" [deal]="deal"></app-deals-card>
</div>
<app-paginator *ngIf="!loading"></app-paginator>
</div>

交易.component.ts

export class Deals implements OnInit {
public deals : Deal[] = [];
private next : string;
private previous : string;
loading = true;
constructor(private dataService: DataService) {
this.dataService.get_deals().subscribe((res : any[])=>{
this.deals = res['results'];
this.next = res['next'];
this.previous = res['previous'];
if (res instanceof HttpResponse){
this.loading = false;
}
});
}

ngOnInit() {
}

}

最佳答案

我首先要研究的是 this.dataService.get_deals() 返回什么?它应该返回一个 observable 但 observable 的类型呢?它总是一个 HttpResponse 吗? (似乎不是这样)

我的另一个建议是,如果您使用 ngIf 指令。如果目标是检查一个 bool 值然后显示两个组件之一,也许可以尝试使用 Angular DOM 标记。

<app-testing *ngIf = "loading; else showAppTester"></app-testing> 

<ng-template #showAppTester>
<app-tester > </app-tester>
</ng-template>

loading 是我在 typescript 中定义的一个 bool 值,可以更改。

关于angular - 组件未加载 *ngIf 中的变量更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com