【发布时间】:2017-02-24 02:00:46
【问题描述】:
我知道由于 angular2 的指令动画支持不可用,当前 ng2-bootstrap 中的动画代码被注释掉的问题。
因此,我通过在我的组件中使用 angular2 的动画创建了一个解决方法。
animations: [
trigger('slideMenu', [
state('true', style({ height: '0px' })),
state('false', style({ height: '*' })),
transition('1 => 0', animate('200ms ease-in')),
transition('0 => 1', animate('200ms ease-out'))
]),
]
更新:我有 plunker 示例:https://plnkr.co/edit/iVffRLUhzp43DXo5BYlJ?p=preview(如果加载示例失败,请多次单击停止并运行按钮。它最终会起作用)。
我希望上面的动画代码在展开时创建滑出效果,在折叠时创建滑入效果。然而,动画仅在展开时有效。当我尝试折叠菜单时,它就消失了,没有任何动画。
我想知道是否有人曾经尝试过为滑入和滑出的菜单垂直折叠创建一个可行的解决方法。
提前致谢。
【问题讨论】:
-
如果您将一个小的 plunker 示例放在一起展示当前状态,我很高兴尝试并提供帮助 - 因为我也一直在搞乱 ng2-bootstrap。
-
@RobM 我添加了 plunker 示例:plnkr.co/edit/iVffRLUhzp43DXo5BYlJ?p=preview
-
@RobM 具有讽刺意味的是,我相信让我的动画正常工作的唯一方法是不使用 ng2-bootstrap。在我取出 [collapse]="isCollapsed()" 后,一切正常。我相信这是由于 ng2-bootstrap 在触发崩溃后立即将 css 显示属性设置为“无”。我想解决方法是为所有需要它的组件放置我的折叠动画,直到指令的动画可用为止。
-
感谢您清楚地描述了一个有趣的问题,将 plunker 放在一起来演示该问题并在您解决问题并发现解决方法时分享您的发现(抱歉,我的反应很慢,因为我在我之后生病了第一条评论)。
标签: angular animation ng2-bootstrap