you cannot access
<tmp:tmp_detail includeIn="detail" />
instead give the component an id and access through the child component through this. something like:
<tmp:tmp_detail id="detailComp" includeIn="detail" itemCreationPolicy="immediate"/>
Also you may run into trouble because of the includeIn property -- "detailComp" object will only be created once the "detail" state has been used and until then the object doesn't exist so you will get errors if you try to access properties on a null object. You can get around this by using itemCreationPolicy="immediate"
Lastly, a few tips
- use friendlier naming scheme. <tmp:tmp_detail /> isn't so hot, better is <comp:DetailGroup /> or something...
- I'm not a big fan of child components communicating in the way you have set up. Adobe recommends dispatching events and frameworks employ other methods. Accessing components through the parentApplication is easy and possibly executes faster but leads to a tightly coupled system that will cause more trouble down the road.