9

私はバックボーンと JavascriptMVC の世界から来ました。しかし、私は本当に AngularJS に切り替えたくなりました。これまでのところ、コンバージョンを妨げている大きな問題が 1 つあります。

シングルページアプリを作成しています。タブ モジュール、ファイル アップロード モジュール、ファイルリスト モジュールが含まれているとしましょう。

バックボーンで私がすることは、これらのそれぞれを独自のビュー テンプレート、ビュー コントローラーなどを持つスタンドアロン モジュールとして分割することです。そうすれば、アプリのいくつかの場所でモジュールを使用できます。モジュールはそれ自体以外は何も知りません。

この問題は AngularJS でどのように処理されますか? モジュールごとに 1 つの angular.module を作成することは可能ですか (たとえば、タブ モジュールのように)?

ドキュメントで、モジュール内に多くのコントローラーを作成する方法を教えてくれていると思います。しかし、それは私が必要とするもののようには聞こえません。それとも、ここでいくつかの主要な概念を誤解していますか?

編集:さらに調査を行いました。ディレクティブが私が探しているもののようです。一方、AngularJS のモジュールは Web アプリ全体を表します。そのため、「コンポーネント」と「モジュール」という名前が混在しているため、混乱しました。

私は今正しい道を進んでいますか?

4

3 に答える 3

1

はい、あなたは今正しい道を進んでいます。Angular のもう 1 つのタイプのモジュールはサービスです。サービスは、非常にクリーンな方法で、任意のコントローラーまたはディレクティブ (または他のサービス) に挿入できます。

ディレクティブは主に、目に見える UI の一部である再利用可能なものを対象としています。これは、DOM 要素/属性を追加することによって、それらが使用される方法に反映されています。

サービスは、より抽象的なもの、または直接対応するユーザー インターフェイスがなくても存在と動作が意味を持つもののためのものです。独立したサービスに賢明に押し込めるロジックが多いほど、アプリケーションのモジュール化が進み、コードの再利用性が高まります。

私の経験では、コントローラーは再利用性が最も低く、最初に複雑で乱雑になる傾向があります。(しかし、それは私が間違って使用している可能性があります。) 経験則は、コントローラーをできるだけシンプルに保つことです。純粋なビジネス ロジックのみに制限し、そのほとんどをサービスに組み込むようにしてください。

Angular の学習曲線はやや急ですが、研究を続ければ、さまざまな部分が明らかになり、適切な場所に収まります。ここ SO に関するリソースの 1 つは、「AngularJS で考える」という質問です。

于 2013-05-13T12:07:13.877 に答える
0

私の投稿を見てください:

これは、アプリケーションを複数のモジュールに分割し、非常に簡単に接続できる RequireJS を使用したソリューションに関するものです。

役立つと思われる場合はお知らせください。回答に貴重なコンテンツを入れるのではなく、リンクを参照しないように基本情報をここに記載できます。

于 2014-12-31T00:49:31.703 に答える