我有一个angular指令,它可以将父控制器函数作为属性。在DOM操作期间,此角度指令被克隆,编译并放置在DOM的开头部分。结果,传入的父控制器功能不再起作用,因为不再有父控制器。我该怎么解决这个问题?我可以在编译时将父控制器功能从原始函数传递给克隆吗?我试过这个,但它不起作用:
$timeout(function () {
$scope.test ="passed content";
var compiledClonedDirective = $compile(clonedDirective)($scope);
divInTheBeginningPartOfTheDOM.prepend(clonedDirective);});
function getBack() {
console.log($scope.test);
}
此getBack()函数用于克隆指令。激活后,它会记录未定义。任何提示?
答案 0 :(得分:0)
一种解决方案是将父控制器功能复制到rootScope,然后在克隆和替换指令(指令控制器)中从rootScope调用它。但是如果可能的话,我想避免使用rootScope。