Angular: Empty Fiddle

http://angularjs.org/

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<script type="text/ng-template"  id="menuItem.html">
    <li>	
		<a ng-href="{{ menuItem.href }}">{{ menuItem.text }}</a>
	</li>
</script>

<ul ng-app="Application" ng-controller="TreeController">	
	<li ng-repeat="menuItem in menuItems" menu-item="menuItem">
	</li>
</ul>

CSS

ul {
    list-style: circle;
}
li {
    margin-left: 20px;
}

JavaScript

angular.module("myApp", [])
	.directive('menuItem', function($compile){
		return {
			restrict: 'A',
			scope: {
				menuItem: '=menuItem'
			},
			templateUrl: 'menuItem.html',
			replace: true,
			link: function(scope, element){
				var watcher = scope.$watch('menuItem.subItems', function(){
					if(scope.menuItem.subItems && scope.menuItem.subItems.length){
						var subMenuItems = angular.element('<ul><li ng-repeat="subItem in menuItem.subItems" menu-item="subItem"></li></ul>')
						$compile(subMenuItems)(scope);
						element.append(subMenuItems);
						watcher();
					}
				});
			}			
		}
	})
	.controller("TreeController", ['$scope', function($scope) {
		$scope.menuItems = menuItems;

	}]);

var menuItems = [
    {
        "isNavItem": true,
        "href": "#/dashboard.html",
        "text": "Dashboard"
    },
    {
        "isNavItem": true,
        "href": "javascript:;",
        "text": "AngularJS Features",
        "subItems": [
            {
                "href": "#/ui_bootstrap.html",
                "text": " UI Bootstrap"
            }
        ]
    },
    {
        "isNavItem": true,
        "href": "javascript:;",
        "text": "jQuery Plugins",
        "subItems": [
            {
                "href": "#/form-tools",
                "text": " Form Tools"
            },
            {
                "isNavItem": true,
                "href": "javascript:;",
                "text": " Datatables",
                "subItems": [
                    {
                        "href": "#/datatables/managed.html",
                        "text": " Managed Datatables"
                    }
                ]
            }
        ]
    }
];