Как потребовать контроллер в директиве angularjs

Может кто-нибудь сказать мне, как включить контроллер из одной директивы в другую директиву angularJS. например у меня есть следующий код

var app = angular.module('shop', []).
config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: '/js/partials/home.html'
    })
        .when('/products', {
        controller: 'ProductsController',
        templateUrl: '/js/partials/products.html'
    })
        .when('/products/:productId', {
        controller: 'ProductController',
        templateUrl: '/js/partials/product.html'
    });
}]);

app.directive('mainCtrl', function () {
    return {
        controller: function ($scope) {}
    };
});

app.directive('addProduct', function () {
    return {
        restrict: 'C',
        require: '^mainCtrl',
        link: function (scope, lElement, attrs, mainCtrl) {
            //console.log(cartController);
        }
    };
});

По общему мнению, я должен иметь доступ к контроллеру в директиве addProduct, но это не так. Есть ли лучший способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос