ho il seguente scenario: Una direttiva transclude con ambito isolato che ha un controller collegato in esso:di direttiva accesso da elementi transclusa
angular.module('app', [])
.directive('hello', function() {
return {
controller: function($scope) {
$scope.hello = "Hello World";
},
restrict: 'E',
replace: true,
transclude: true,
template: '<div class="hello" ng-transclude></div>',
scope: {}
};
});
Non vedo l'ora di accedere al controller della direttiva dagli elementi transclusa :
<hello>
<h1>Hello Directive</h1>
<p>{{ hello }}</p>
</hello>
Tuttavia ciò non sembra possibile. Ho provato ad accedere a hello
con $parent
e $$nextSibling
.
Esiste qualche soluzione per questo scenario? Non riesco a mettere il controller in wrapper attorno all'istanza direttiva.
ho creato un codepen per illustrare questo comportamento: http://codepen.io/jviotti/pen/ktpbE?editors=101
Nell'esempio non funzionante, il modello si aspetta che la variabile {{hello}} si trovi nell'argomento radice genitore, ma in realtà è nell'ambito della direttiva ciao. – goldins
L'articolo su https://www.airpair.com/angularjs/posts/transclusion-template-scope-in-angular-directives mi ha aiutato a capire perché funziona in questo modo. – sven