I’m trying to figure out the best patter for applying when writing a particular type of Angular directive. In this scenario, I want it to display a login form if a user is logged out, and then switch to a different view once logged in.
This isn’t my complete app, so it’s not a redirect as far as I can see. The specific example at the moment is that up in the top right of the page will be a last.fm login form, which will switch over to a last.fm widget if the user successfully logs in.
I could put both in the template and change them dynamically with CSS, but this somehow feels a little off. Can I swap a directive’s entire template and recompile? Should I use two divs with ng-if statements?
I’m sure there are many ways of doing it, but is there a particularly Angular way of handling the situation?
I’d use 2 different divs
as you say with ng-if
. That is the desired behavior anyway… you essentially have 2 “mini views” (one logged in and one not) with separate functionality for this widget.
I wouldn’t try to get fancy here for no reason.
1