私は、AngularUI teamのものを含め、多くのディレクティブの例を見てきましたが、ここではクリーンアップはしていません。
これは、jQueryのdatepickerを作成するui-date指示文の例です。 (source)
element.on('blur', function() { ... });
彼らは、要素にイベントハンドラを置き、ない時点で、彼らがこれまでにイベントをバインド解除します。だから、これは私が理解していない何かがあるのなら、私は思ってしまう
var namespace = ".uiDate";
element.on('blur' + namespace, function() { ... });
element.on("$destroy" + namespace, function()
{
element.datepicker("destroy"); //Destroy datepicker widget
element.off(namespace); //Unbind events from this namespace
});
:私は、次のような存在のコードがあることが予想されているでしょう。このディレクティブが作成され、何度も破壊された状況で、彼らがやっていることがメモリリークの原因にならないでしょうか?
私には何が欠けていますか?
は非常に便利な答えと似た質問します。http:/ /stackoverflow.com/questions/26983696/angularjs-does-destroy-remove-event-listeners – hgoebl