2016-08-25 7 views
1

私はPDF.JSとAureliaを統合しています。scrollイベントに反応して実行したい2つの方法があります。一般に、私はこれらの2つの機能を1つの方法に統合します。しかし、私の使用例では、それぞれのメソッドに対して異なるバインディング動作を使用する必要があります。1つのevent.triggerまたはevent.delegateに複数のイベントハンドラがありますか?

私はそうのようなscroll.triggerで使用したいrenderHandlerを持っている:

<div ref="container" class="pdf-container" scroll.trigger="renderHandler() & debounce:250"> 

しかし、私はまた、代わりにイベントをレンダリング処理するの、今だけ値バインディングアップデートを処理する、別のscrollHandlerを(持っています、

とは別に、これらの作品:そのような私はこのようなスロットル動作で使用したいのですがスクロールしながらページ番号)など。私はそれらをまとめる方法がわかりません。 Aureliaでは現在、triggerまたはdelegateという式の中に複数の式を使用することはできません。また、要素のプロパティを複製することは効果がありません(Aureliaの解析中に重複が発生する可能性があります)。

同じイベントに対して異なるバインディングビヘイビアを持つ2つのハンドラを宣言的に使用する方法はありますか?

答えて

1

フレームワークは、現在、同じイベント、要素、およびバインディングコマンドの組み合わせに対して複数のイベントバインディングをサポートしていません。

回避策として、あなたはtrigger2結合コマンドを追加することができます。

import {SyntaxInterpreter} from 'aurelia-templating-binding'; 
SyntaxInterpreter.prototype.trigger2 = SyntaxInterpreter.prototype.trigger; 

はその後、同じ要素に scroll.triggerscroll.trigger2を使用することができるだろう。

例:

https://gist.run/?id=b51e1c0ff28de5d19d1018881399c4e4

+0

今日は何か他のものを考えた - 私は、関数のいずれかを呼び出すために、 'scroll.bind'を使用することができるかもしれない、限り、それが結合挙動を必要としないようまたは議論。 –

関連する問題