私はEmber.jsの新人です。私はその理念を理解するためにいくつかの問題を抱えています。私はアクションをアップ、データダウンを知っているが、実際の生活では、私はFotoramaが私のギャラリーのコンポーネントで初期化されていると言うことができます(私はそれが大丈夫ですかわからないが、私はdidInsertElement
メソッドでそれをやった)。このライブラリには独自のイベントがあります。ember.jsコンポーネントのカスタムイベントを処理する方法は?
$('.fotorama').on('fotorama:ready', function (e, fotorama) {});
か:彼らは平野JSでこのようになります。
$('.fotorama').on('fotorama:show', function() {});
を私はエンバーに、それらは何とかコンポーネント内のアクションにマップする必要があります感じています。 私の質問は:どのようにですか?私はこれらのアクション内でいくつかのアクション(別のコンポーネントやルータによってキャッチされる)を起動する必要があります。だから私はそれがこのようにすべきだと思う:this.sendAction('actionName', actionParams);
あなたはドキュメントや詳細情報を提供できますか?なぜこのアプローチはお勧めできませんか? – ykaragol
_didInsertElement()は、イベントリスナーをアタッチするのにも適しています。これは、カスタムイベントや、組み込みのイベントハンドラを持たない他のブラウザイベントに特に便利です._ [ember guide](https://guides.emberjs.com/v2.10.0/components/the-component-lifecycle)の[ /#toc_integrating-with-third-party-libraries-with-code-didinsertelement-code) – ykaragol
私は通常jqueryプラグインを扱うときにこのようなコードを書いています。しかし、jqueryプラグインの大部分はemberとうまくやられないというemberの人々の周りの概念があります。私たちはそれを私たち自身で書く必要があります...私は単純に、推奨されていないアプローチを追加して、より多くの投票権を得ないようにしました。 @locksは私たちを啓発するかもしれません。 – kumkanillam