2016-07-21 7 views
1

私はこの質問に対する答えは「いいえ」だと思いますが、とにかく私には確かな答えを見つけるように思われます。オンザフライでAngularJSブートストラップまたはロードコントローラ

anglejsはコントローラをオンザフライでロードできますか?

さらに説明するために、私はNG-app.Example、index.htmlファイルを経由して、デフォルトの方法をブートストラップされた角度のアプリを持っている:アプリモジュール内

<!doctype html> 
<html> 
<head> 
    <title>myapp</title> 
</head> 
<body ng-app="app"> 
... 
<app-body></app-body> 
<script src="lib/angular/angular.min.js"></script> 
<script src="app/app.js"></script> 
... 

、私はルートを設定していますこのようなもの:

$routeProvider 
      .when('/Home', { 
       templateUrl: 'home/home.html', 
       controller: 'HomeController' 
      }) 
      .when('/Behaviors', { 
       templateUrl: 'contact/contact.html', 
       controller: 'ContactController' 
      }); 
     // etc. 

私は興味がありました - ユーザーがそのルートに行くときにHomeController.jsファイルを読み込む方法はありますか?そのため、上記のindex.htmlではなく、home/home.html内にjsファイルが設定されています:

<script src="home/HomeController.js"></script> 

このようなことはありますか?

答えて

2

はい、AngularJSは、工場などのルートコントローラと依存関係を動的にロードできます。それはRequireJSの使用を必要とするでしょう。 RequireJSがあなたのエントリーポイントになり、Angularをロードします。

角度経路の解決プロパティは、RequireJSを介してファイルを解決したコードへの呼び出しを開始します。 resolveプロパティは約束を利用するので、ファイルがロードされるまでルートはロードされません。

また、あなたがなど、uglify、連結、GulpJS、ガルプ・角度・テンプレートキャッシュのようなものを使用してアプリケーションを最適化することができ次に例を示します。

http://weblogs.asp.net/dwahlin/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs

+0

これは完璧です - ありがとう! –

関連する問題