Angularjs Использовать контроллер модуля injectect в определении маршрута

Я новичок в угловых и пытаюсь модулировать свое приложение.

Мой основной модуль получает какой-то другой модуль, и я хочу использовать контроллер введенного модуля в моем определении маршрута. Несколько простых примеров были бы очень полезны!

Это не работает:

var app = angular.module('Contacting_App', ['LeadLookup']);

app.config(['$routeProvider', function($routeProvider) {
                    $routeProvider.
                        when('/main', 
                            {controller: 'MainCtrl', 
                            templateUrl: 'apex/f42_Contacting_Main'}
                        ).
                        when('/lead', 
                            {module: 'LeadLookup',
                            controller: 'LeadLkpCtrl', 
                            templateUrl: 'apex/f42_Lead_Lookup'}
                        ).
                        otherwise(
                            {redirectTo: '/main'}
                        );
                }]);

1 ответ

Эта учебная страница может указать вам правильное направление docs.angularjs.org/tutorial/step_07

Основные вещи, на которые вы должны обратить внимание:

модуль

var phonecatApp = angular.module('phonecatApp', [
  'ngRoute',
  'phonecatControllers'
]);

routeProvider

phonecatApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/phones', {
        templateUrl: 'partials/phone-list.html',
        controller: 'PhoneListCtrl'
      }).
      when('/phones/:phoneId', {
        templateUrl: 'partials/phone-detail.html',
        controller: 'PhoneDetailCtrl'
      }).
      otherwise({
        redirectTo: '/phones'
      });
  }]);

Контроллеры

var phonecatControllers = angular.module('phonecatControllers', []);

phonecatControllers.controller('PhoneListCtrl', ['$scope', '$http',
  function ($scope, $http) {
    $http.get('phones/phones.json').success(function(data) {
      $scope.phones = data;
    });

    $scope.orderProp = 'age';
  }]);

phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
  function($scope, $routeParams) {
    $scope.phoneId = $routeParams.phoneId;
  }]);
Другие вопросы по тегам