| Nice writeup, here is my input on the points OP makes. The flickering UI A quick fix would be to extract the problematic markup, place in a separate template file and leverage ngInclude[1]. If you find yourself having many instances where this is a problem, chances are you aren't doing a good enough job of breaking up your application into controllers, page components, directives, etc. jQuery and Angular In my opinion the example is little weak in terms of demonstrating a pitfall of AngularJS. Based on AngularJS best practices you'll find yourself only doing any sort of DOM manipulation in the context of a directive (much like your example). Bringing jQuery into your Angular app for the sake of using .hide here probably won't make much sense. Chances are pretty good you'll leveraging directives such as ngShow[2], ngHide[3], ngIf[4] (version 1.1.5). No need to bring jQuery in for that. If there is indeed a valid reason to bring jQuery into the project, I'd say the responsibility lies more so on the developer ensuring the dependency is met. Minification With the addition of ngmin[5], this isn't necessarily a pitfall just something to consider in your workflow. There is a ngmin grunt task[6] that works as advertised! I've been using it for quite some time now and never an issue. My thought overall though is if you've conceded minification is a step in your project workflow, you'll be using tooling to make that easier. Bring ngmin into the mix and all is well. Directives are never 'done' I would suggest looking into using $watch[7] within the scope of that directive or making use of compile post linking over the linking used in the example. Check out the compile section [8] of the directive guide for more information there. [1] http://docs.angularjs.org/api/ng.directive:ngInclude [2] http://docs.angularjs.org/api/ng.directive:ngShow [3] http://docs.angularjs.org/api/ng.directive:ngHide [4] http://code.angularjs.org/1.1.5/docs/api/ng.directive:ngIf [5] https://github.com/btford/ngmin [6] https://github.com/btford/grunt-ngmin [7] http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch [8] http://docs.angularjs.org/guide/directive |