did you find any cleaner way to do this?
I think this problem is not just related to "one page applications" but apply also to any page/component that depending un user actions must show different enough content (unless one wants to go with EventListener and a long ugly list of IF components...)