2014-07-07 8 views
23

AngularJs uygulamasına sahibim. Bazı çocuk kapsamları için Kontrolörleri kullanıyorum. Her Denetleyicide, ilgili Çocuk Kapsamına ait bir dizi değişken ayarlayabilirim. AngularJs bir denetleyiciyi başlattığında, alt-kapsam değişkenlerime bir varsayılan değer ayarlayabileceğim bir kurucu var.Angularjs Denetleyici yıkıcı

Denetleyici "yıkıcı" var mı? Bir denetleyicinin ne zaman kapandığını ve kapsam temizlendiğini ($ destroy işlevi tarafından yok edildi) nasıl anlarım?

Teşekkürler!

function MyController($scope, ...) { 
    ... 
    $scope.$on("$destroy", function handler() { 
     // destruction code here 
    }); 
} 

İlgili belgeler:

cevap

45

Sen $destroyolay, örneğin dinlemek zorunda https://docs.angularjs.org/api/ng/type/$rootScope.Scope

+0

Bu '$ scope' yaydığı, bu yüzden evet erişebilir yerde' $ scope', bunu dinleyebilirsiniz. Esasen '$ scope' yok edildi ve bu olayı yayar; Denetleyici bunun bir sonucu olarak yok edilir, bu yüzden biraz dolaylıdır, ancak yine de sabittir. –