App logic and structure expressed in HTML, which is enchanting for beginners (Look’ma no JS, magic!), but terrible for real development. We are developers, we write and debug code. But Angular is HTML parser. I really don’t want to debug any string based parser instead of my code. HTML should be just a projection of app state, not a source of truth!
Te veel logica in je template zetten is inderdaad geen goed idee. Wat dat betreft is Angular zijn expression parser misschien te vergevend. Assignments in je click handlers in de HTML zetten (bijv ng-click="state='open'") of iets dergelijks is een slecht idee en zou eigenlijk niet ondersteund moeten worden.
Dat gezegd hebbende, ik heb bij mijn huidige werkgever een brok javascript geërfd waarbij functionaliteit op basis van aanwezige classes wordt toegevoegd. Dit is verschrikkelijk om te debuggen. Bij Angular kijk je welke directives (attributes) op de button zitten waar je op klikt, of het element wat getoond wordt, en je hebt binnen no time het verantwoordel