Can someone explain the significance of the ^ symbol under require in this Angular directive code snippet? I came across this code and am having trouble understanding its meaning.
.directive('accordionGroupHeading', function() {
return {
restrict: 'EA',
transclude: true,
template: '',
replace: true,
require: '^accordingGroup',
link: function(scope, element, attr, accessibleAccordionGroupCtrl, transclude) {
accessibleAccordionGroupCtrl.setHeading(transclude(scope, function() {}));
}
};
})