/ / Acessando os controladores pai dos pais através do atributo Angular require - angularjs, angularjs-Directive

Acessando controladores pai do pai através de Angular requerem atributo - angularjs, angularjs-directive

No exemplo abaixo, a diretiva de grupo acordeão compartilha um controlador e escopo com o acordeão pai, usando o atributo "require:" ^ accordion "" na diretiva de grupo acordeão.

Se eu quisesse criar uma diretiva filho, no grupo acordeão, como ele também acessaria o controlador de acordeão? Exigir ^ accordion e ^ accordionGroup parece não funcionar.

https://github.com/angular-ui/bootstrap/blob/master/src/accordion/accordion.js

Respostas:

1 para resposta № 1

Funciona assim. Eu só estava sendo idiota. Violino para a posteridade Aqui.

"use strict";

angular.module("myApp", []).controller("OneController", function() {
this.test = function(element) {
element.css("color", "red");
}
}).directive("one", function() {
return {
restrict: "E",
transclude: true,
replace: true,
controller: "OneController",
template: "<span ng-transclude>And a </span>",
}
}).directive("two", function() {
return {
restrict: "E",
transclude: true,
replace: true,
require: "^one",
template: "<span ng-transclude>and a </span>",
}
}).directive("three", function() {
return {
restrict: "E",
transclude: true,
replace: true,
require: "^one",
template: "<span ng-transclude>and a one two</span>",
link: function(scope, element, attrs, ctrl) {
ctrl.test(element);
}
}
});