2016-10-12 2 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'; 
      }, 
     }); 

Я хочу знать, могу ли я управлять контроллером с помощью URL-адреса, такие как

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

Вы можете воспользоваться частью свойства 'resolve' в параметрах маршрута для извлечения контроллера JS (в качестве обещания), а затем использовать [' 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

Вы можете воспользуйтесь частью свойства разрешения параметров маршрута, чтобы получить контроллер JS (в качестве обещания), а затем использовать функцию register для регистрации выбранной функции контроллера.

Смежные вопросы