Backbone
및 Marionette
을 사용하여 모델/컬렉션을 파괴 할 때 가장 좋은 방법은 무엇입니까? 보기가 자동으로 Marionette (올바르게 사용 된 경우)로 관리되지만 모델/컬렉션은 어떻습니까? 언제 그들을 파괴합니까? 당신의보기가 아래 코드처럼 파괴 될 때입니까? (JavaScript 대신 TypeScript입니까?) 또는?백본 + 마리오네트 - 모델/컬렉션을위한 메모리 관리 모범 사례?
class SomeItemView extends Marionette.ItemView<Backbone.Model> {
destroy() {
super.destroy();
delete this.model; // is this the best way to destroy a model/collection?
}
}
모델이 참조 해제되지 않은 경우 (참조 카운트가 0 인 경우) 가비지 수집으로 표시됩니다. 왜 내 대답은 downvoted 모르겠지만, 마리오네트와 함께 일할 때, 내가 제공하는 대답은 꽤 일반적인 관행이며 어떤 메모리 누수가 없습니다. – Trace
알았어, 됐어! 그런 다음 "부모보기"와 함께 가비지 수집해야합니까? – AfroMogli
콜렉션 뷰 또는 compositeview를 사용하는 경우, 부모 뷰가 파기되면 하위 뷰가 파괴됩니다. – Trace