restrict: 'E', transclude: false, scope: { someProp: '=' }, controller: function($scope, $element, $attrs, $transclude, otherInjectables) { ... }, controllerAs: 'ngCourseCtrl', templateUrl: ‘./ng-course.html’, compile: function (tElement, tAttrs, transclude) { return { pre: function (scope, iElement, iAttrs, controller) { ... }, post: function (scope, iElement, iAttrs, controller) { ... } } } }; }]);