2014-04-07 5 views
0

경로에 해당하는 기본보기 모듈 (RequireJS)로 작동하는 여러보기가 있습니다. 나는 메인 뷰 모듈을 엔트리/컨트롤러로 사용하여 더 많은 하위 뷰를 초기화 할 계획이다. 각 경로는 새보기를 초기화하기 전에 페이지에서 활성화 된 대부분의보기를 하위보기와 함께 제거해야합니다. 나는 이것을 구현하는 방법에 대해 분실했다. 로드 된 뷰를 추적하고 AppRouter 또는 기본 뷰 모듈에서 정리를 수행해야합니까?백본 경로 및보기 정리

내 경로

var AppRouter = Backbone.Router.extend({ 
    routes: { 
    'pagex/new': 'newPost', 
    'pagey/:id: 'foo' 
    }, 

    newPost: function() { 
    // remove and cleanup current active views here (I don't know how) 
    // render newPost view 
    }, 

    // ... 

}); 

전체 응용 프로그램에 대한 기본보기 :

var appView = Backbone.View.extend({ 
    var router = new Router(); 
    Backbone.history.start({ pushState: true }); 

    $(document).on('click', 'a:not([data-bypass])', function (evt) { 
    var href = $(this).attr('href'); 
    var protocol = this.protocol + '//'; 
    if (href.slice(protocol.length) !== protocol) { 
     evt.preventDefault(); 
     router.navigate(href, true); 
    } 
    }); 

}); 

답변

1
직접 저장

시간 및 Marionette를 사용합니다. 그런 다음 자신의 지역을 정의하여 자신의 견해를 나타낼 것입니다. 마리오네트는 당신을위한 견해의 폐지를 처리 ​​할 것입니다. (그리고 다른 많은 좋은 점이 있습니다. 그래서 그것을 사용하지 않을 이유가 없습니다.)