Calling functions in controllers

Calling function in controller from directive with Isolated scope

HTML

<div ng-app="app" ng-controller="treeController as vm">
<tree src="myList" filter="doSomething()"></tree>
<a ng-click="clicked()"> link</a>
</div>

CSS

ul {
    list-style-type: none;
    padding-left: 20px;
}
    
  li:before {
     content: "-";
     display: inline-block;
     width: 10px;
}

.collapsed ul {
  display: none;
}

li.collapsed:before {
  content: '+';
  display: inline-block;
  width: 10px;
}  

li a:hover {
  cursor: pointer;
}

JavaScript

var app = angular.module("app", [])
 .controller("treeController", ['$scope', function($scope) {
    var vm = this;
   $scope.doSomething = function () {
        var item = data;
        alert("1");
   }
   $scope.clicked = function () {
       alert('clicked');
   }
        $scope.myList = {
            children: [
              {
                  name: "Event",
                  children: [
                    {
                        name: "Event Date",
                        children: [
                          {
                              name: "2008",
                              FilterType: '_eventStartDate',
                              Parent: '_event'
                          },
                          {
                              name: "2009",
                              FilterType: '_eventStartDate',
                              Parent: '_event'
                          }
                        ]
                    },
                    {
                        name: "Event Attendee",
                        children: [
                          {
                              name: "Person 1",
                              FilterType: '_eventAttenddeeName',
                              Parent: '_Event'
                          },
                          {
                              name: "Person 2",
                              FilterType: '_eventAttenddeeName',
                              Parent: '_Event'
                          }
                        ]
                    }
                  ]
              }]
        };
}]);

app.directive('tree', function() {
    return {
        restrict: 'E', 
        replace: true,
        scope: {
            t: '=src'
        },
        template: '<ul><branch ng-repeat="c in t.children" src="c"></branch></ul>'
    };
});

app.directive('branch', function($compile) {
    return {
        restrict: 'E', 
        replace: true, 
        scope: {
            b: '=src',
     ...