After ReactJS (and the similar frameworks, like Mithril, Mercury etc.) I don't think this is a good idea (if not for other things, because you cannot have a component inside other), but I used to like AuraJS[1], that is somewhat similar (but has also events being passed from component to component).<p>[1]: <a href="http://aurajs.com/" rel="nofollow">http://aurajs.com/</a>