2014-09-12 48 views
2

考慮使用ngRepeat來顯示指令實例列表的應用程序。AngularJs - 我應該手動銷燬指令實例嗎?

當從列表中刪除元素時,是否應該手動銷燬指令實例或者是否足夠安全地在包含元素的數組上調用splice()

開發者指南在這裏不是很有幫助。

+0

我猜這是安全的,但爲什麼要手動銷燬實例?爲什麼不在過濾器中使用'ngRepeat'? – Ashesh 2014-09-12 10:12:49

+0

我在考慮有關內存和性能問題的更多信息。 – Sprottenwels 2014-09-12 10:13:41

+0

拼接數組中的引用對象並不會將其摧毀,對吧? – Ashesh 2014-09-12 10:18:02

回答

2

如果您有疑問並希望檢查該指令是否真的遭到破壞,您可以在指令中加入一塊手錶$destroy。例如:

// inside your link function 
scope.$on('$destroy', function() { 
    console.log("destroyed"); 
}); 
+2

我不知道爲什麼我沒有想出。 – Sprottenwels 2014-09-12 10:17:11

+1

供參考:他們被毀壞 – Sprottenwels 2014-09-12 12:24:35