2016-02-10 67 views

回答

7

在您的情況下,您的$randomElem將具有與其父(指令容器)相同的作用域。所以它不會被銷燬。

現在您要創建此元素的新範圍:

// Case 1: child scope sharing the properties with parent 
$element.append($compile($randomElem)($scope.$new())); 

// case 2: child scope isolated, no sharing with parent 
$element.append($compile($randomElem)($scope.$new(true))); 

然後,你將需要刪除元素時,手動消滅的範圍。對於塔可以使用$scope.$destroy()

例如:

var newScope = $scope.$new(); 
$element.append($compile($randomElem)(newScope)); 


newScope.$destroy(); // or $randomElem.scope().$destroy(); 
$randomElem.remove(); 
相關問題