2016-10-12 9 views
0

、routeProviderを使用して、我々はこの方法で動的テンプレートを作成することができますが:URLでコントローラにアクセスするにはどうすればよいですか?角度で

$routeProvider.when('/dev/:parent/:name', { 

      templateUrl: function(p) { 
       console.log('app.config.js: DEV_MODE TEMPLATE'); 
       return 'Views/Layouts/' + p.parent + '/' + p.name + 'Layout.html' 
      }, 
      controller: function($routeParams) { 
       console.log('app.config.js: DEV_MODE CONTROLLER'); 
       return $routeParams.name + 'Controller'; 
      }, 
     }); 

私はあなたができるよう

return 'Controllers/' + p.parent + '/' + p.name + 'Ctrl.js' 
+0

ルートオプションの 'resolve'プロパティ部分を利用してコントローラJSを(promiseとして)フェッチし、[' register'](https://docs.angularjs.org/)を使うことができますapi/ng/provider/$ controllerProvider)関数を呼び出して、取得したコントローラ関数を登録します。ここの良い例:https://weblogs.asp.net/dwahlin/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs – miqid

答えて

0

として、私はURLでコントローラを制御することができるかどうかを知りたいですルートオプションのresolveプロパティ部分を利用してコントローラJSを(約束として)フェッチし、次にレジスタ関数を使用してフェッチされたコントローラ関数を登録します。

関連する問題