如何在加载Angular Dart应用程序时淡出加载程序?

问题描述 投票:2回答:1

我的index.html文件包含以下内容:

<html>
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <script defer src="main.dart" type="application/dart"></script>
    <script defer src="packages/browser/dart.js"></script>
  </head>

  <body>
    <div id="loader-wrapper"></div>
    <my-app></my-app>
  </body>
</html>

loader-wrapper加载时,我想淡出div my-app

最初我考虑绑定到OnInit类中的my-app方法,然后访问my-app元素之外的DOM以淡出loader-wrapper div。这不是一个好的解决方案,因为我认为my-app类中的代码应该只在my-app元素中操作DOM。

使用上面my-app文件中的JavaScript片段,index.html元素是否会触发任何我可以绑定的事件?

angular dart angular-dart
1个回答
1
投票

如果my-app的内容为空,我使用css显示内容,然后在应用加载时隐藏它。

.loader-wrapper {
    opacity: 0;
    transition: opacity .8s ease-in-out;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

my-app:empty + .loader-wrapper {
    text-align: center;
    padding-top: 15%;
    opacity: 1;
    z-index: 100;
}

在我的应用程序空样式中设置加载器包装器的样式,但是您希望它在加载应用程序时显示,并以相同的方式创建其他样式(例如,为您的加载器设置h2标记样式,您将执行此操作:

my-app:empty + . loader-wrapper h2 {
    color: #EEE;
    padding-top: 20px;
    font-size: 1.5em;
}

应用程序加载后,内容会加载到my-app div中,因此它不再为空,并且.loader-wrapper样式会淡出。

 < my-app ></my-app >

 <div class="loader-wrapper">
      <h2>Loading</h2>
      <span class="loginCopyright">&copy; Your Ace from Outer Space</span>
 </div>
© www.soinside.com 2019 - 2024. All rights reserved.