How to expose a public API from a directive that is a reusable component?
Does this work for you? angular.directive(‘extLabel’, function() { return { restrict: ‘E’, scope: { api: ‘=’ }, link: function(scope, iElement, iAttrs) { scope.api = { doSomething: function() { }, doMore: function() { } }; } }; }); From containing parent <ext:label api=”myCoolApi”></ext:label> And in controller $scope.myCoolApi.doSomething(); $scope.myCoolApi.doMore();