2016-10-19 10 views

答えて

2

角はフレームワークです。 jQueryはDOMを扱うライブラリです。 directiveと呼ばれるAngularフレームワークのコンポーネントの1つのみがDOMで動作し、 jQueryを使用して行います。実際には、jqLiteというサブセットを使用しています。カスタムディレクティブでDOMを操作するためにjQueryを使用する必要があるかどうかは個人的な選択ですが、Angular自体がそれを使用するため、使用しない理由はありません。 AngularとjQueryを一緒に使用すると、間違いなく競合は発生しません。実際、AngularはjQueryが利用可能かどうかをチェックし、jQueryが組み込みのライブラリjqLit​​eのDOM inteadを操作するのに使用します。

カスタムディレクティブのテンプレートで、DOM要素に手動でクラスを追加する代わりにng-classを使用する必要がある場合は、Angularの標準ディレクティブng-classを使用することをおすすめします。

すべてのベストプラクティスによれば、DOMを操作できる唯一の場所はディレクティブです。標準ディレクティブを変更することはできないので、カスタムディレクティブはDOMを操作できる唯一の場所です。 jQueryを使用するかどうかにかかわらず、コントローラーやサービス内のDOMを操作することは、間違いなく練習です。

+0

カスタムディレクティブを使用しない場合は、それは良い方法ですか? –

+0

すべてのベストプラクティスによれば、DOMを操作できる唯一の場所はディレクティブです。標準ディレクティブを変更することはできないため、カスタムディレクティブはDOMを操作できる唯一の場所です。 jQueryを使用するかどうかにかかわらず、コントローラーやサービス内のDOMを操作することは、間違いなく練習です。 –

+0

Angular Scopeの外側からjqueryを持つ標準ディレクティブを持つDOM要素を変更しようとすると、それでダイジェストサイクルに問題が発生しますか?はいの場合はどうですか? –

関連する問題