如何在Aurelia中实现自己的动画库?

如何在Aurelia中实现自己的动画库?,aurelia,Aurelia,假设我想使用jQueryUI之类的东西来编写一些在DOM中添加或删除元素时的动画。我看到我可以使用animator界面,使用enter和leave功能编写自己的动画。同一篇文章使用了view slot.js的示例来展示如何使用这个接口。我甚至可以看到这种依赖在这里被注入,就像这样 import {Animator} from './animator'; ... constructor(anchor: Node, anchorIsContainer: boolean, animator?: Ani

假设我想使用jQueryUI之类的东西来编写一些在DOM中添加或删除元素时的动画。我看到我可以使用animator界面,使用enterleave功能编写自己的动画。同一篇文章使用了view slot.js的示例来展示如何使用这个接口。我甚至可以看到这种依赖在这里被注入,就像这样

import {Animator} from './animator';
...
constructor(anchor: Node, anchorIsContainer: boolean, animator?: Animator = Animator.instance) {
我如何在这里提供自己的Animator接口实现?我使用了另一个javascript动画库,作为一个示例,我可能会这样做,结果发现它使用了自己的animator.js版本,其中写入了Greensock动画。我本来希望找到一些可以为视图插槽构造函数提供animator接口的自定义实现的东西,但结果却是空的


感谢您的帮助。

找到了。您需要在驻留在Aurelia的DI容器中的模板引擎上运行
configureAnimator
。下面的示例取自animator css,它是animator接口的一个实现。这段代码在启动过程中作为插件运行

export function configure(config: Object, callback?:(animator:CssAnimator) => void): void {
  let animator = config.container.get(CssAnimator);
  config.container.get(TemplatingEngine).configureAnimator(animator);
  if (typeof callback === 'function') { callback(animator); }
}