Enfant personnalisé directive accéder à portée de parent

Je vais avoir deux des directives sur mesure dans mon application angularJS. Un acte comme un parent et d'autres agissent comme des enfants. Je suis en train d'essayer d'accéder à un parent de la portée de l'enfant à l'intérieur de la directive. Mais je ne suis pas d'obtenir le résultat souhaité.

<div ng-controller="CountryCtrl">
{{myName}}
    <div ng-controller="StateCtrl">
        <state nameofthestate="'Tamilnadu'">
            <city nameofthecity="'Chennai'"></city>
        </state>
    </div>
</div>

et mon script ressemble

var app = angular.module("sampleApp",[]);
app.controller("CountryCtrl",function($scope){
    $scope.myName = "India";
});
app.controller("StateCtrl",function($scope){
});
app.directive("state",function(){return {
    restrict : 'E',
    transclude: true,
    scope : { myName  : '=nameofthestate'},
    template:"**   {{myName}} is inside {{$parent.myName}}<br/><ng-transclude></ng-transclude>"
}});
app.directive("city",function(){return {
    restrict : 'E',
    require:'^state',
    scope : { myName  : '=nameofthecity'},
    template:"****   {{myName}} is inside {{$parent.myName}} which is in {{$parent.$parent.myName }}<br/> "
}});

Correspondant JSFiddle disponible dans https://jsbin.com/nozuri/edit?html,js,sortie

La sortie qui je suis, il est

India
** Tamilnadu is inside India
**** Chennai is inside India which is in Tamilnadu

et la sortie attendue est

India
** Tamilnadu is inside India
**** Chennai is inside Tamilnadu which is in India

Quelqu'un peut-il m'instruire de ce que je fais de mal ici?

  • désolé , mais votre violon n'est pas de travail pour moi.
  • salut stackoverflow.com/questions/23437113/... cela peut vous aider, c'est ressembler à ce que vous voulez faire
  • Vous pouvez personnaliser un transclude avec transclude : 'element'. Le constructeur est disponible dans link : function(scope, element, attrs, Ctlr, transclude){}