angularjs hériter de portée dans les directives

exemple: http://jsfiddle.net/avowkind/PS8UT/

Je veux un imbriquée enfant directive pour obtenir ses données de son emballage parent directive, le cas échéant, sinon de l'extérieur du contrôleur.

<div ng-controller="MyCtrl">
    <parent index="1">
        <child></child>
    </parent>
    <parent index="2">
        <child></child>
    </parent>
     <h1>No Parent</h1>
    <child></child>
</div>
<hr>

De sortie désiré

Parent 1
  Child of parent 1
Parent 2
  Child of parent 2
No Parent
  Child of parent 0

Actuellement mon enfant objet, il ne voit que l'extérieur de la valeur du contrôleur:

De sortie réelle

Parent 1
  Child of parent 0
Parent 2
  Child of parent 0
No Parent
  Child of parent 0

C'est la version simple; en réalité l'extérieur directives obtenir les données à partir d'un serveur qui est mis en forme par les imbriqué enfant pour ce qui est communiqué est un objet complexe n'est pas une simple chaîne de caractères.
En outre, l'enfant est une visualisation qui vont travailler sur différents jeux de données, de sorte que l'extérieur de la mère de la directive n'est pas toujours le même type.

Plus généralement, le modèle que j'essaye de faire ici est d'avoir séparé les directives pour remplir le modèle et la visualisation. de manière plus réaliste l'utilisation serait

<temperature-for city="Auckland">
   <plot/>
   <analysis/>
</temperature-for>

<humidity-for city="Hamilton">
   <plot/>
   <analysis/>
</temperature-for>


<test-data>
   <plot/>
</test-data>
à partir de la documentation: "Qu'est-ce transclude option de faire, exactement? transclude rend le contenu d'une directive à cette option ont accès à la portée à l'extérieur de la directive plutôt qu'à l'intérieur." essayez d'utiliser ?^ dans le require option.

OriginalL'auteur avowkind | 2014-04-01