Edit in JSFiddle

var app = angular.module('myApp', []);
app.controller('myController', function ($scope) {
    // some feature that we'll want to surface to our directive:
    $scope.value = '';
    $scope.doStuff = function () {
        $scope.value = Math.ceil(Math.random() * 100);
    };
});
app.directive('myClicky', function () {
    return {
        scope: {
            // here we set up the binding
            // linking to the value
            // of the 'my-click-action' attribute
            myClickAction: '&'
        },
        // and we connect the expression
        // to the directive's template via 'ng-click'
        template: '<a ng-click="myClickAction()">Click Action</a>'
    };
});
<div ng-app="myApp" ng-controller="myController">
    <span my-clicky my-click-action="doStuff()"></span> Value: {{value}}
</div>