大きなExtJS(まだExtJs 2)アプリケーションがあり、JavaEEサーバーでWindowsエクスプローラーのような機能を提供します。ここで、新しい機能の実装を評価します。この機能は、jQueryプラグインに基づいて作成できます。
1つのアプリケーションでjQueryとExtJを使用することをお勧めしますか?それとも、発生する副作用に対処する必要がありますか?
大きなExtJS(まだExtJs 2)アプリケーションがあり、JavaEEサーバーでWindowsエクスプローラーのような機能を提供します。ここで、新しい機能の実装を評価します。この機能は、jQueryプラグインに基づいて作成できます。
1つのアプリケーションでjQueryとExtJを使用することをお勧めしますか?それとも、発生する副作用に対処する必要がありますか?
副作用に対処する必要はありません。これを行ったときに遭遇した唯一の問題は、Extjsがそのままにしておくことに依存している要素を操作しようとした場合です。jQueryを使用して操作を開始するときは、extjsが混乱することを計画していないdiv内で作業していることを確認してください。これを行う最良の方法は、Ext.Componentから継承し、それが提供するdiv内で操作することです。Extはこのdiv内では何もしないので、大丈夫です。必要に応じてサイズ変更機能を利用することもできますが、これは実際には必要ありません。
私の会社は、かなり大規模なApache/Catalystサイトで問題なくこれを行っています。私たちのサイトには古いプロトタイプのものがあるため、$()ではなくjQuery()を使用します。
jQueryをjQuery名前空間内に保持するhttp://api.jquery.com/jQuery.noConflict/
次のように使用します。$。noConflict();
jQueryはウィンドウのコンテキストに単一のオブジェクト(jQuery)を追加するだけなので、競合は発生しません。
問題:jqueryの一部のサードパーティライブラリは、静的なWebページの編成に依存している可能性があります。ExtJSコンポーネントはWebページに動的に追加できるため、サードパーティライブラリの機能はありません。
解決策:コンポーネントを追加した後、このライブラリのスクリプトを実行する必要があります(たとえば、afterrenderイベントを使用します)。次に、このextコンポーネントでこれらの関数を呼び出すことができます。