У меня есть угловая директива, которая может принимать функцию родительского контроллера как атрибут. Во время манипуляции с DOM эта угловая директива клонируется, компилируется и помещается в начальную часть DOM. В результате переданная в родительском контроллере функция больше не работает, поскольку родительский контроллер больше не существует. Как я могу это решить? Могу ли я передать родительскую функцию контроллера из оригинала в клон, когда я его компилирую? Я пробовал это, но он не работает:
$timeout(function () {
$scope.test ="passed content";
var compiledClonedDirective = $compile(clonedDirective)($scope);
divInTheBeginningPartOfTheDOM.prepend(clonedDirective);});
function getBack() {
console.log($scope.test);
}
Эта функция getBack() используется в клонированной директиве. Когда он активирован, он регистрируется как неопределенный. Любые намеки?
Одним из решений было скопировать функцию родительского контроллера в rootScope, а затем вызвать его из rootScope в клонированной и замененной директиве (директивном контроллере). Но я хотел бы избежать использования rootScope, если это возможно.