【问题标题】:Angular - How to create loading screen 'like gmail'Angular - 如何创建“像 gmail”的加载屏幕
【发布时间】:2019-04-15 23:49:40
【问题描述】:

在我的 Angular 应用程序中,加载微调器在整个应用程序中运行。使用 NavigationStart 和 NavigationEnd 条件。

但我希望有一个微调器,只要有人刷新页面,即在任何组件加载之前,它就会出现。因此,通过显示微调器,向第一次加载页面的人表明应用正在加载。

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

有没有办法在页面加载后启用微调器并禁用它。

不可能将加载器放在任何组件中,因为此时组件本身并未呈现。? (你可以想象!)

是否需要将微调器放在 index.html 中,或者有没有办法检查条件以了解组件是否完全呈现?

因为对于互联网连接速度非常慢的用户,即使在登录页面加载之前,页面看起来也像死了一样。

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

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

【问题讨论】:

    标签: node.js angular


    【解决方案1】:

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

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

    每当应用程序及其子组件被渲染时,这个 Loading... 就会被 angular 自动覆盖。我假设所有组件都只会被渲染。 (如果您想将 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.
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我认为最好的方法是将微调器添加为 index.html 中的“固定/静态”内容,这样它就会立即加载到您的网站中。

        【讨论】:

          猜你喜欢
          • 2017-08-28
          • 2016-04-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-26
          相关资源
          最近更新 更多