In Angular separating logic and html works fine. The only type of component that should be dealing with html in the first place, are directives. Directives point to a piece of html to include, which can be either a string or a url. In the case of the url, the code is separate.<p>But more important is the separation between the directive and the rest of the code. The directive is specifically about the logic that&#x27;s directly related to the view. That&#x27;s not something you want to put too far away from the view.<p>And of course Angular&#x27;s html is enriched html: by including directive, you can put databinding, and limited logic (generally about when you show that bit of html) directly into the html. Separating those would be frustrating and a bad idea. If your view is dynamic, that logic should be considered part of the view.