我正在做一个有角度的项目,我想在特定的div上播放微调器。
我在Component文件中有一个函数,该函数调用API并返回结果。我想要做的是当我调用该函数时,我希望微调框显示在div上,并且一旦函数返回所有结果,我想隐藏微调器栏。
到目前为止,我已经尝试过类似的方法,但是没有用。
在我的component.ts文件中初始化了一个布尔变量。
let isLoopStarted : boolean = false;
在我的HTML文件中,我做了类似的事情。
<img src = "someGif.gif" [hidden] = "!isLoopStarted">
当我调用函数时,我将isLoopStarted
的值设置为true。
微调器栏开始显示在div上。现在,当函数即将终止时,我再次将isLoopStarted
的值设置为false。微调器栏应该隐藏,但不会隐藏,并且会一直显示在div上,直到我刷新页面为止。
答案 0 :(得分:0)
您需要确保angle已检测到组件范围内的变化。您可以使用@ angular / http模块进行AJAX调用来完成此操作,也可以使用changeDetectorRef
。请参见以下示例:https://angular.io/api/core/ChangeDetectorRef#example
答案 1 :(得分:0)
您需要使用以下内容:
<div *ngIf="isLoopStarted ; else dataReady">
<img src = "someGif.gif">
</div>
<ng-template #dataReady>
...your rest of the component which you want to show/hide
</ng-template>
此外,请确保isLoopStarted
变量正在更改。