передать функцию видимости клонированной (и скомпилированной) угловой директиве

0

У меня есть угловая директива, которая может принимать функцию родительского контроллера как атрибут. Во время манипуляции с DOM эта угловая директива клонируется, компилируется и помещается в начальную часть DOM. В результате переданная в родительском контроллере функция больше не работает, поскольку родительский контроллер больше не существует. Как я могу это решить? Могу ли я передать родительскую функцию контроллера из оригинала в клон, когда я его компилирую? Я пробовал это, но он не работает:

$timeout(function () {
        $scope.test ="passed content";
        var compiledClonedDirective = $compile(clonedDirective)($scope);
        divInTheBeginningPartOfTheDOM.prepend(clonedDirective);});
function getBack() {
   console.log($scope.test);
}

Эта функция getBack() используется в клонированной директиве. Когда он активирован, он регистрируется как неопределенный. Любые намеки?

Теги:
angularjs-scope
angularjs-directive
angularjs-compile

1 ответ

0
Лучший ответ

Одним из решений было скопировать функцию родительского контроллера в rootScope, а затем вызвать его из rootScope в клонированной и замененной директиве (директивном контроллере). Но я хотел бы избежать использования rootScope, если это возможно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню