2014-10-22 2 views
0

어떤 이유로 든 preventDestroy : true로 작동하지 않습니다. 내 예제에서는 preventDestroy true를 전달하더라도 applicationsListView가 표시 될 때로드보기가 제거됩니다.Backbone Marionette : preventDestroy를 사용하는 방법 : true

var loadingView = new App.Common.Loading.View(); 
    App.layout.mainRegion.show(loadingView); 


    // Fetch the applications 
    var fetchingApplications = App.request('application:entities'); 

    $.when(fetchingApplications).done(function(applications) { 

    var applicationsListView = new List.Applications({ 
     collection: applications 
    }); 

    App.layout.mainRegion.show(applicationsListView, { preventDestroy: true }); 

    }); 

답변

0

지역에서는 제거되지만 파괴되지는 않습니다.

preventDestroy : true을 전달하면 해당 뷰는 이전의보기에서 destroy 메서드 및 이벤트를 호출하지 않습니다. Destroy 메서드는 ubinding 이벤트를 제공하고 하위 뷰에서 destroy 등을 호출합니다 (https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#view-destroy).

그러나 전화 preventDestroy와 보여 진정한 아직 명확 innerHTML을하고 지역의 새로운보기를 넣어 (backbone.marionette/SRC/marionette.region.js에서 attachHtml 방법을보고).

기존로드보기를 다시 사용하면 도움이됩니다.

관련 문제