【问题标题】:Aurelia router animationAurelia 路由器动画
【发布时间】:2017-06-05 02:50:17
【问题描述】:

我在每个视图中使用au-animate 进行页面转换: 当前视图向左滑出(从中心向左),下一个视图向左滑入(从右向中心)。

@keyframes slideLeftIn {
  0% {transform: translate(100%, 0);}
  100% {transform: translate(0, 0);}
}
@keyframes slideLeftOut {
  0% {transform: translate(0, 0);}
  100% {transform: translate(-100%, 0);}
}
.pages.au-enter-active {
  animation: slideLeftIn 0.8s;
}
.pages.au-leave-active {
  animation: slideLeftOut 0.8s;
}

基于:Aurelia router view animation with swap-order="with"

现在,我需要在过渡期间在 DOM 中拥有两个视图,例如在 W3 slide 中。

有没有办法在aurelia 中实现这一点?

更新:

这似乎是一个阻止此的错误: error aurelia-templating-router 1.0.1 with swap-order

更新2: 在上一个版本中,此错误已修复!奥里利亚岩石。

【问题讨论】:

    标签: aurelia


    【解决方案1】:
    @keyframes slideLeftIn {
      0% {
        -webkit-transform: translate(100%, 0);
                transform: translate(100%, 0); }
      100% {
        -webkit-transform: none;
                transform: none; } }
    
    @keyframes slideLeftOut {
      0% {
        -webkit-transform: none;
                transform: none; }
      100% {
        -webkit-transform: translate(-100%, 0);
                transform: translate(-100%, 0); } }
    

    【讨论】:

    • 感谢您的回答,我使用swap-order="with"时出现问题。控制台日志ERROR [app-router] TypeError: Cannot read property 'animatableElement' of undefined,当我更改路由器时,它会不断添加视图。基本上没有动画。但它适用于swap-order="before"swap-order="after",所以可能是错误。现在我正在使用swap-order="after" 制作类似的动画,但如您所知,视图之间存在差距。
    • 嗯。 swap-order="with" 对我来说很好用。你在使用 TypeScript 吗?
    • 我正在使用 ES:au new --here1. Web (Default)1. Babel (Default)3. Sassau -v 也是 0.23.0。
    • 使用swap-order="with" 我看到au-enter au-enter-active 但我认为没有与错误日志相关的au-leave au-leave-active。所以它不断向 DOM 添加视图。
    • Aurelia 在路由器即将更改视图时添加au-leaveau-leave-active 类。无论如何,应该从 DOM 中删除视图。您确定这些视图保留在 DOM 中吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多