2017-12-07 16 views
0

1つのファイル内にすべてのAngularJSコードがある小さなアプリケーションを作成しています。このファイルはすべてのHTMLページに含まれています。どのような依存モジュールが特定のHTMLページに必要かをどのようにフィルタリングしますか?私。私は例えば:AngularJSの従属モジュールを選択的に使用します。

var app = angular.module('MyApp', ['ngTouch', 'ngMessages']); 

を持っていますが、私は一部のページのみにしかngMessages他のページngTouchが必要な場合、どのように私は、ページごとに他の不要な依存モジュールをロード防ぐでしょうか?

答えて

0

コアモジュールに依存して懸念を分離するには、特別なモジュールを使用します。たとえば、あなたがこれに似たものかもしれないので:

angular.module('app.core', ['ngAnimate']); 
angular.module('PicadviceApp', ['app.core', 'ngTouch']); 
angular.module('messages', ['app.core', 'ngMessages']); 

をこれは本質的に、あなたが希望あなたのアプリケーション内のすべてのページをロードする必要があるコアモジュールとして、および特定のページに「app.core」モジュールを宣言します追加の依存関係をロードする特殊なモジュールを用意してください。

1ページでPicadviceAppモジュールが読み込まれ、別のページでメッセージモジュールが読み込まれる可能性があります。しかし、両方のページはapp.coreの依存関係のためにngAnimateモジュールにアクセスできます。

+0

はい、私はそれをそうすることを考えましたが、これはモジュールを使用する "正しい"方法ですか?それらはアプリケーション機能の一部を表すべきであり、依存モジュールをグループ化するのではなく...このようにすれば、すべてのページに別々の.jsファイルを持たなければならないだろうが、私が言ったように、 jsファイル。 – user2340939

+0

はい、各モジュールは責任を負いません。アプリケーション間の問題がある場合は、その1つのモジュール(app.core)内のすべてのロジックが必要になります。フィーチャエリアは必ず自分のモジュールにあることができますが、各フィーチャにロジックを重複させたくない場合もあります。私がここで好むスタイルガイドをチェックしてください: https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#style-y164 – alexhuang

関連する問題