I have a directive defined that contains a function binding:
angular
    .module('my.module')
    .directive("myDirective", [
        function () {
            return {
                controller: 'MyDirectiveController',
                templateUrl: 'controls/myDirective/myDirective.html',
                replace: true,
                restrict: 'E',
                scope: {
                    openFunction: '&'
                }
            };
        }]);
in my source html, I'm defining the directive like so:
<my-directive
    open-function="openDrawer(open)"
</my-directive>
Then, in my directive controller, I'm calling it like this:
$scope.openFunction({
    open: function() {
        doSomething()
            .then(function () {...})
            .finally(function () {...});
    }
});
And here's the parent controller openDrawer function:
$scope.openDrawer = function (open) {
    $scope.alerts = null;
    $scope.showActions = false;
    if (service.editing) {
        service.closeAndSave();
        openDrawerAfterDelay(open);
    } else if (otherService.editing) {
        otherService.commit();
        openDrawerAfterDelay(open);
    } else {
        open();
    }
};
The problem is, when my directive controller calls the $scope.openFunction() function, nothing happens. Am I able to pass a function, to the bound function like this?
 
    