2017-03-29 16 views
0

現在、EmberJSルータと外部ライブラリを使用することは困難です。 EmberJSルータを使用すると、ルーティング機能が完全に機能します。 また、コンポーネント内に外部ライブラリを含めると、期待どおりに動作します。EmberJSルータと外部ライブラリ

しかし、両方の組み合わせは機能しません。

詳細:ライブラリ(pdf.js)は、ドキュメントをスクロールしながらDOMを操作し、アンカータグを挿入しています。これらのアンカータグは正常に動作します。しかし、イベントを「キャッチ」してEmberJSルーティング機能を使用しようとすると、機能しません! DidRender()関数でイベントリスナーを作成することはできません。また、DidRenderの実行時に要素が存在しないため、preventDefaultを使用することはできません。

誰もが同じ問題に直面しているのでしょうか、この問題の解決策がありましたか?

乾杯、 フランツ

答えて

0

私は

初期didInsertElementフックの代わりDidRender内部3-サードパーティのlibに、コンポーネントを使用していると仮定しています。

DOMはそのフック内に用意されており、this.$()を使用してコンポーネントのHTML要素を評価できます。

これはどういう意味ですか?

しかし、イベントを「キャッチ」してEmberJSルーティング機能を使用しようとすると、動作しません。

DOM操作操作はすべて同期操作です。 didInsertElementフックの中にあなた自身の偶数ハンドラをバインドしますが、あなたのthisコンテキストには細心の注意を払ってください。

+0

はい、既にdidInsertElementでlibを初期化していますが、libがその場でDOMを変更しているので、私は前述の問題に遭遇しました。 –

+0

上で引用したことが何を意味するのかをさらに説明できますか? –

関連する問題