0

세션 상태가 변경되면 다시 렌더링되는 탐색보기가 있습니다. 세션 모델에서 객체 user이 변경되면 동일하게하고 싶습니다. 그러나 user 개체는 기본 섹션에 정의 된 특성이 아니므로이 줄은 아무런 효과가 없습니다. NavView의 render 메서드를 세션 모델의 사용자 개체 변경 내용을 수신하거나 바인딩하는 방법이 있습니까?백본보기 listenTo 모델 객체

window.NavView = Backbone.View.extend({ 

    template : _.template($('#tpl-nav').html()), 

    initialize : function() { 
     window.session.on("change:logged_in", this.render, this); 
     // this one is not working  
     window.session.on("change:user", this.render, this); 
    }, 
); 

window.SessionModel = Backbone.Model.extend({ 

    defaults : { 
     logged_in : false, 
     user_id : '' 
    }, 

    initialize : function() { 
     this.user = new User({ }); 
    } 
}); 

감사

답변

1

코드 SessionModel.initialize이 추가 :

var self = this; 
this.user = new User({ }); 
this.user.bind('change', function() { self.trigger('change:user'); });