Yes there is,
the nested stack should have an output of the attribute that you are interested in and the parent template can simply call for that attribute. For instance, this 'parent' has two nested templates, Network and LoadBalancer (both are Neutron resources). The parent will define both like so (Note those are not complete pastes):
resources:
network:
type: network.yaml
load_balancer:
type: lb.yaml
properties:
private_subnet: {get_attr: [network, private_subnet_id]}
depends_on: network
Now, the network template creates a private network and has this as an output:
resources:
private_network:
type: OS::Neutron::Net
properties:
name: private_net_heat
outputs:
private_network_id:
value: {get_resource: private_network}
As you can see, by creating an attribute called private_network_id and giving it the value of the private network, the Load Balancer template can use it as a parameter for the pool resource:
parameters:
private_subnet:
type: string
resources:
pool:
type: OS::Neutron::Pool
properties:
protocol: HTTP
monitors: [{get_resource: monitor}]
subnet_id: {get_param: private_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 80