0

我有一个角度指令,它可以将父控制器函数作为属性。在 DOM 操作期间,这个 angular 指令被克隆、编译并放入 DOM 的开始部分。结果,传入的父控制器功能不再起作用,因为不再有父控制器。我怎么能解决这个问题?我可以在编译时将父控制器功能从原始控制器传递给克隆吗?我已经尝试过了,但它不起作用:

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

此 getBack() 函数用于克隆指令中。当它被激活时,它记录未定义。有什么提示吗?

4

1 回答 1

0

一种解决方案是将父控制器函数复制到 rootScope,然后从克隆和替换指令(指令的控制器)中的 rootScope 调用它。但如果可能的话,我想避免使用 rootScope。

于 2015-08-21T14:29:14.337 回答