I have a tabbed navigtion in my webapp that looks like this
 
Now I want to Change the directive each time the user clicks on one of the Navigation points. My Idea was to init the page with the first template.
$scope.currentDirective = $compile('<div order-Sale></div>');
Then when the user clicks on a tab, I wanted to change and compile the content again with a new directive in it. But for some reason this is not working. How would you proceed in order to archive this dynamic content loading? I really want to only load the content on necessary need and not just to show or hide it. I think using directives is the right way to go for it, but I'm a but stuck at the implementation... Someone any pointer ? (I don't want to use any jQuery)
What I tried [Edit]:
The controller.js
    app.controller('pageController',['$scope','$compile', function($scope, $compile){
      var templates = ['<div first-template></div>','<div second-template></div>'];
      $scope.currentTemplate = $compile(templates[0]);
      $scope.changeTemplate = function(id) {
        $scope.currentTemplate = $compile(templates[id]);
      };
  }]);
The HTML
<div ng-controller="pageController">
    <li>
        <a ng-click="changeTemplate('1')">Change Template</a>
    </li>
    {{currentTemplate}}
</div>
 
     
    