Recently I have been fiddling with Angular and have noticed that there are not many tree directives around, or they are very basic. AngularJsTree is one fully angular tree, but it was too hard to configure and we have already been using Dynatree largely in our app, so we weren’t actually looking forward to convetring our tree data into the new format. I had previously written a simple angular directive wrapping the dynatree functionality and with a simple $watch on the tree data so it updates when the data is updated. And that seemed to do what it was supposed (being a tree) for a long time.
But I have noticed that as soon as we had to add even a simple feature to the directive, we had to take care of the jquery->angular->jquery connection and it took time (and thinking). That is why I decided to rewrite completely the tree directive we had to not rely on dynatree.js/jquery at all, but to be fully angular. I started writing the code in Plunkr, then transferred it to my project and continued working there. Just for reference, here is the Plunkr:
You can play around with it and use it as you will.