I'm building a lightning page using several lightning components and using lightning data service. I would like to keep components as reusable as possible.
What I am trying to accomplish is when I click a button on one component, a form will show as a pop-up (an independent lightning component). This component will be reused several times in the lightning page from many different components.
I don't think a modal will work since that will have to be tied into the controller for each individual component. I know that data can be shared from parent to child components, but these are all sibling components. So is there a way to share data between siblings or is my only option to code a modal into every component?
For examples sake lets just say I'm trying to open component "HelloWorld.cmp" from a button on a different component and I need to see "HelloWorld.cmp" as a pop up window.
<aura:component implements="flexipage:availableForAllPageTypes, force:hasRecordId, force:appHostable" access="global"> <h1>hello world</h1> </aura:component>