I remember reading back that tables are bad, there should be separation between logic, style, and data. And this allows website to be maintained and easy to update.

However, with angular logic part and html part is completely mixed everything is interconnected. And if you want to understand what's happening then you have to follow JavaScript file and html file to figure out how it all works.

I understand for small things it's very useful but for things that aren't just widgets, how is it a good practice. Maybe I am missing something?