javascript - Angular 通用 : avoid restarting CSS animations at DOM replacement

标签 javascript css-animations angular-universal

我们有一个以动画开头的网页:coara

出于性能和 SEO 的原因,我们通常使用 Angular Universal 将页面预呈现为静态 HTML。

此处的问题:当 DOM 被 Angular 代码替换时,动画重新开始。有没有办法避免这种情况,或者等待 DOM 替换直到动画完成(而不是再次启动它)?

最佳答案

你可以在你的 app.module.ts 上添加一个假的提供者来知道组件在哪里呈现:

 providers: [
    {
      provide: "isBrowser",
      useValue: true,
    },
  ],

并将此导入到您的 app.server.module.ts

 providers: [
    {
      provide: "isBrowser",
      useValue: false,
    },
  ],

然后你可以像这样在你的组件上导入这个“提供者”:

constructor(@Inject("isBrowser") public enableAnimations: boolean) {}

现在您可以在服务器端加载组件时禁用动画并在客户端添加动画。

关于javascript - Angular 通用 : avoid restarting CSS animations at DOM replacement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55328842/

相关文章:

javascript - Firefox 4 中的 HTML 5 支持

CSS 动画放慢位置

css - Angular 通用 : serving critical CSS and delaying non-critical

node.js - 服务器端渲染无法在实时服务器上使用延迟加载 Angular 12 模块

javascript - 如何在ionic 4中捏放大图像?

Javascript从点击执行功能

javascript - Dojo 选项卡容器不显示

CSS 翻译在 IE 10 的动画中没有正确的宽度

CSS 动画在 Chrome/Webkit 浏览器上失败

angular - (Angular 6)Angular Universal - 不等待内容 API 调用