I've managed to play with directive attribute listener without using isolated scope ($watch, $observe and $parse - a pleasure) but I experience difficulties understanding the last one. 
Here's my html :
<div active="setActiveNav(number1)"></div>
And my directive :
link: function(scope,elem,attr){
    scope.myFunction = $parse(attr.active);
    ...
}
But can you explain how do I fire the function passed in my 'active' attribute ?
 
     
    