Angular JS 1.5
を使用してWebサイトをコーディングし、新しいcomponent
ディレクティブを頻繁に使用しています。これまでのところ、それは素晴らしいです。私はコンポーネントシステムが大好きです。ロード時の角度コンポーネントへのjQueryイベントの添付
しかし、私はjQuery 3.0
とangular
のコンポーネントを互いに話すことに少し問題があります。たとえば、このコードを取ってください。
(function($){
$(document).ready(function() {
$('[animate-bounce]').velocity({
translateY: '10px'
}, {
loop: true
}).velocity('reverse');
});
})(jQuery);
これは、通常のページ上で正常に動作しますが、理由はどのようにcomponent
作品の性質上、それは$(document).ready
後にインスタンス化されているコンポーネントには適用されません。それはもちろん意味があります。それらは存在しないので、それらに結びつくことはできません。
私はコンポーネントのライフサイクルについて知っています。具体的には、$onInit
の機能です。私はそれにjQueryをフックできることを知っています。しかし、特定のjQuery
コードをアクティブになるコンポーネントに適用したいと思っています。そのコードの有効化をcomponent
コードから守りたいと思っていました。
これは可能ですか?コンポーネントがロードされたときにjQuery
バインディングを実行させるcomponent
の「グローバル」$onInit
はありますか?または、新しいDOMが追加されたときにトリガーするjQuery
の古いlive()
バインディングが置き換えられていますか?
をHEPます。 – jcubic
私は角度2にアップグレードするような方法でコーディングしているので、私はディレクティブを避けたいと思っています。実際のコンポーネントに結合されたjQueryコードも、多くのコンポーネントで使用されるHTMLに適用する必要があることが多いため、 – Ciel
指令はまだAngular2で利用できます。 しかし、コントローラでコードを実行するだけで済みます。コントローラがインスタンス化されると実行されます。 例:まだスタイルガイドの推奨事項の「有効化」機能:https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#style-y034 – PerfectPixel