javascript - MVCアーキテクチャに従うAngular 7では、コントローラーはどこですか
私の知識によると、AngularはMVCアーキテクチャに従っているようです。コンポーネントを見ると、.tsファイル(モデル)と.htmlファイル(ビュー)がありますが、コントローラーはどこにありますか?
回答 #1
Angularフレームワークを使用する際には、作成するアプリケーションを構成するいくつかの基本用語を理解する必要があります。
Component:コンポーネントは再利用可能なコードであり、特定の入力に基づいて一連の機能を実行したりビューを提供することができます。これらの入力は任意です。コンポーネントは、特定のアクション(例えばclick)によって生じる可能性のある変更を親コンポーネントに通知するために、さらにemitイベントを発行することがあります。
私はMVC表記の使用にはあまり熱心ではありませんが、厳密に選ぶとしたら、
テンプレートはビューを表し、クラスはコントローラー、そして(データを取得するために使用される場合の)サービスがモデルです。
Angularはクライアントサイドのフレームワークであるため、Angularが従うMVCパターンはMVVC(モデル、ビュー、ビューコントローラ)と呼ばれることがあります。
回答 #2
Angularにコントローラーというものは存在しません。
それはコンポーネント、ビュー、モデル、サービスのみを持っています
コンポーネント: テンプレートのロジックを扱うので、コントローラーの役割を果たします
テンプレート: データを表示するためにロールビューを処理します
モデル: エンティティモデルは、あなたのアプリでロールモデルの役割を果たします
サービス: あなたのために HTTP リクエストを行ったり、コード内で何らかの副作用を起こしたりするロジックを扱うためのもの