Скажем, директива такая
angular.module('app', []).directive('testDirective', function () {
return {
restrict: 'E',
scope: {
callback: '&'
}
};
});
Затем в html, где вы интегрируете директиву, установите обратный вызов для функции, которая будет определена на вашем контроллере.
<test-directive callback="getDetails(newValue, oldValue)"/>
И в контроллере определить getDetails
$scope.getDetails = function (newValue, oldValue) {
// do whatever you want here
}
Пока вы вызываете свой обратный вызов из директивы, вы должны вызывать его как
$scope.callback({
newValue: <a value>,
oldValue: <another value>
});