2017-05-31 10 views
0

私はコントローラーでDOM操作を行うべきではないことを知っています。私はその答えを見つけて理解しようとしましたが、指示は再利用のために使われます。混乱するのはコントローラーと同じです。コントローラーを使用することができ、コントローラー内に任意の要素を含めることができます。また、それを使用して機能やイベント処理を使用することもできます。だからなぜコントローラではないか??? コントローラや指示文に関するいくつかの点が間違っていますか、または間違っていますか?なぜコントローラでDOM操作を行うべきでないのですか

+2

[角型コントローラからDOM操作を分離する - ベストプラクティスが必要です](https://stackoverflow.com/questions/28988547/separating-dom-manipulation-from-angular-controllers-best-practice-wanted) – DGarvanski

+0

実際には私は前にその答えを見てきましたが、まだ明確ではありません – YepMe

+0

答えは同じです。コントローラはビ​​ューモデルを処理し、サービスはビジネスロジックを処理し、ディレクティブはDOM操作用です。このようにする必要はありませんが、より洗練された、より良い、より論理的で分かりやすいコードにつながる、より良い構造です。コントローラー**はDOM操作を処理できないわけではありません**彼らは**そうすべきではありません** – DGarvanski

答えて

0

角度のコントローラはモデルを扱うためのものです。私たちがサービスを作成するロジックに対しては、dom操作のためにディレクティブを提供し、ビューレンダリングの変更にフィルタを使用できます。したがって、角度のすべてのコンポーネントには独自の役割があります。それは我々がangularjs jqlite方法

https://docs.angularjs.org/api/ng/function/angular.element

を使用することができますどの要素のDOM jqliteオブジェクトを提供して

は今、我々はまた、我々のコードの再利用可能になり、DOM操作のためのディレクティブを使用しています。 コンパイル(pre、post)、隔離されたスコープ、require、テンプレートバインディングのようなディレクティブの他の機能は、domに対する簡単な制御を提供します。 JavaScriptでこれらのことを実現するには、たくさんのコードを書く必要があります。

関連する問題