Angular 在动画元素上闪烁的角度SSR

Angular 在动画元素上闪烁的角度SSR,angular,seo,server-side-rendering,Angular,Seo,Server Side Rendering,我有一个角度与几个动画7网站。他们中的大多数人开始对元素应用opacity:0,并以完全opacity:1结束。一切正常。当SSR发挥作用时,小问题就会出现 出于某种原因,在我第一次加载网站时,我让应用程序像加载两次一样闪烁,但事实并非如此。在预渲染动画时,似乎不会应用这些动画,因此在一段时间内,您可以看到所有显示的内容,然后过渡到浏览器状态使所有内容消失,动画开始像往常一样应用 如果我导航到任何其他路由(即使它是惰性加载或没有),它工作正常。正如我所说,它只发生在Angular站点第一页的第一

我有一个角度与几个动画7网站。他们中的大多数人开始对元素应用
opacity:0
,并以完全
opacity:1
结束。一切正常。当SSR发挥作用时,小问题就会出现

出于某种原因,在我第一次加载网站时,我让应用程序像加载两次一样闪烁,但事实并非如此。在预渲染动画时,似乎不会应用这些动画,因此在一段时间内,您可以看到所有显示的内容,然后过渡到浏览器状态使所有内容消失,动画开始像往常一样应用

如果我导航到任何其他路由(即使它是惰性加载或没有),它工作正常。正如我所说,它只发生在Angular站点第一页的第一次加载上

我尝试了很多方法,包括
initialNavigation:“enabled”
,正如这里所说的,我尝试了
preboot
(),并且尝试了从服务器到浏览器的TransferState(请注意,我遇到的问题是静态代码,不涉及HTTP调用)。它们都不起作用

如果
isPlatformBrowser
是错误的,我唯一尝试的就是应用
'd-none'(display:none)
类,但是我确实认为a)这似乎是一个黑客行为,b)我可能会因为被归类为隐藏内容而在SEO中获得不好的分数

你们有没有遇到过这个问题,知道如何处理Angular 6+中的动画和SSR


提前感谢。

不幸的是,我也没有看到解决方案,像你一样,在任何动画元素上应用了不透明度为0的类,然后在iPlatformBrowser上删除。我真不敢相信这对很多网站都没有影响,因此这个问题得到了适当的解决。要么是这样,要么是我没有找到合适的代码,你有没有在动画中使用state()?我没有尝试过,主要是因为对我来说,加载后立即发生的动画一直在使用query(),不幸的是,您不能将query与state混合使用。很可能SSR只是简单地忽略了服务器上的所有动画,而只在过渡到浏览器时应用它们。在这种情况下,即使是状态也无济于事。我有状态,但它们无法正常工作。幸运的是,我也没有找到解决方案,并且像你一样,一直在对任何动画元素应用不透明性为0的类,然后在iPlatformBrowser上删除该类。我真不敢相信这对很多网站都没有影响,因此这个问题得到了适当的解决。要么是这样,要么是我没有找到合适的代码,你有没有在动画中使用state()?我没有尝试过,主要是因为对我来说,加载后立即发生的动画一直在使用query(),不幸的是,您不能将query与state混合使用。很可能SSR只是简单地忽略了服务器上的所有动画,而只在过渡到浏览器时应用它们。在这种情况下,即使是州政府也无济于事。我有州政府,不幸的是,他们没有工作