I have a component that's really just a container. I'd like to be able to set an attribute on the container and have that attribute be able to passthrough anything I put inside the container without the user of the component having to pass it through.
ex: container
<aura:component>
<aura:attribute name="att" type="string" default="true"/>
<div>{!v.body}</div>
</aura:component>
ex: containee, a component that can go in the container
<aura:component>
<aura:attribute name="attOffParent" type="string" default="true"/>
<div>hi, {!attOffParent}</div>
</aura:component>
ex: implementation
<c:container att="foo">
<c:containee/>
</c:container/>
obviously, I could pass in like <containee attOffParent="{!v.att}"/>
But is there a way to make it generally available to all the containees whenever they feel like using it, especially if they are a grandchild of the container and inside another component?
Open to ugly hacks, including going up the dom tree, using lightning events, etc.