我正在努力将PDF.JS与Aurelia集成,我有两种方法可以运行以响应scroll
事件。通常,我会将这两个函数合并为一个方法。但是,对于我的用例,我需要为每个方法使用不同的绑定行为。
我有一个renderHandler
我希望与scroll.trigger
一起使用,如下所示:
<div ref="container" class="pdf-container" scroll.trigger="renderHandler() & debounce:250">
但是,我还有另一个scrollHandler
(它不会处理渲染事件,现在只会处理值绑定更新,例如滚动时的页码),我想用它来像这样的油门行为:
<div ref="container" class="pdf-container" scroll.trigger="scrollHandler & throttle">
另外,这些工作。我不确定如何将它们组合在一起。 Aurelia目前不允许在trigger
或delegate
表达式中使用多个表达式,并且复制元素中的属性没有任何效果(因为在Aurelia解析期间副本可能会被破坏) )。
有没有办法声明性地使用两个处理程序对同一事件具有不同的绑定行为?
答案 0 :(得分:1)
框架当前不支持同一事件,元素和绑定命令组合的多个事件绑定。
作为解决方法,您可以添加trigger2
绑定命令:
import {SyntaxInterpreter} from 'aurelia-templating-binding';
SyntaxInterpreter.prototype.trigger2 = SyntaxInterpreter.prototype.trigger;
然后,您就可以在同一元素上使用scroll.trigger
和scroll.trigger2
。
示例:
答案 1 :(得分:0)
我不知道它在哪个版本可用。 但这种语法有效。
<button click.delegate="[click1(), click2()]">multiple click handlers</button>