Angular-如何创建加载屏幕“像gmail”

时间:2019-04-15 15:01:58

标签: node.js angular

在我的角度应用程序中,加载微调器遍及整个应用程序。使用NavigationStart和NavigationEnd条件。

但是我希望有一个微调器,只要有人刷新页面(即在加载任何组件之前),它就会出现。这样,通过显示微调框,可以向正在第一次加载该页面的用户表明该应用正在加载。

我在前端使用angular 6,在后端使用Node js。

是否有一种方法可以启用微调器,并在页面加载后将其禁用。

无法将加载程序放入任何组件内,因为此时组件本身尚未呈现。 (您可以想象!)

是否需要将微调器放入index.html中,还是有一种方法可以检查条件以确定组件是否已完全呈现??

因为对于互联网连接速度非常慢的用户,即使在登录页面加载之前,该页面也似乎已经死了。

我已经在登录组件中添加了代码,并希望微调器能够正常工作。

但是在初始化登录组件之前,微调框不会显示。

3 个答案:

答案 0 :(得分:1)

在app-root组件的 index.html 中,我写了“正在加载...”,如下所示。

<body>
    <app-root>
       Loadingg.......
    </app-root>
</body>

无论何时渲染应用及其子组件,此加载... 都会自动被角度覆盖。我假设所有组件都将仅呈现。 (如果要向任何单个组件添加 Loading .. ,则可以像下面的代码一样编写。)

<app-your-wish-component>
     Loadingg....
<app-your-wish-component> // Until and less this component is not rendered **Loading...** will be displayed after that component loads **Loading...** will automatically gone.

答案 1 :(得分:0)

您应该开始使用Angular Lifecycle Hooks。 https://angular.io/guide/lifecycle-hooks

关于刷新页面,在大多数情况下,您最好的朋友将是ngOnInit()

答案 2 :(得分:0)

我认为最好的方法是将微调框添加为index.html中的“固定/静态”内容,因此这是您网站上第一个立即加载的内容。