特定时间段内特定div上的微调器栏

时间:2018-07-10 16:43:34

标签: javascript angular

我正在做一个有角度的项目,我想在特定的div上播放微调器。

我在Component文件中有一个函数,该函数调用API并返回结果。我想要做的是当我调用该函数时,我希望微调框显示在div上,并且一旦函数返回所有结果,我想隐藏微调器栏。

到目前为止,我已经尝试过类似的方法,但是没有用。

在我的component.ts文件中初始化了一个布尔变量。

let isLoopStarted : boolean = false;

在我的HTML文件中,我做了类似的事情。

<img src = "someGif.gif" [hidden] = "!isLoopStarted">

当我调用函数时,我将isLoopStarted的值设置为true。 微调器栏开始显示在div上。现在,当函数即将终止时,我再次将isLoopStarted的值设置为false。微调器栏应该隐藏,但不会隐藏,并且会一直显示在div上,直到我刷新页面为止。

2 个答案:

答案 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变量正在更改。