1

저는 BankAccount 모델을 가진 사용자 모델을 가지고 있으며 누가 모델보기 속성을 User 모델로 설정했는지 그리고 해당보기의 템플릿에서 은행 계좌의 속성을 참조합니다. 내가는 BankAccount를 업데이트 한 경우백본/마리오넷에서 볼 하위 모델 바인딩

<%= bankAccount.get('description') || 'No linked account' %> 

뷰는 변화를 선택하지 않습니다

user.get('bankAccount').set('description', 'foobar') 

내가이 (가) 사용자 모델을 초기화에 다음과 같은 추가 시도했지만이 중 하나가 작동하지 않았다.

initialize: function() { 
    var self = this; 

    this.on('change:bankAccount', function() { 
    self.get('bankAccount').bind('change', function() { 
     self.trigger('change'); 
    }); 
    }); 
} 

의견이 있으십니까? 또한이 두 모델은 백본 관계형을 사용합니다.

답변

3

이보기가 BankAccount가 모델에 description 변경 이벤트에 가입 되세요에서 자체

UserView = Backbone.View.extend({ 
    initialize: function() { 
    this.model.get('bankAccount').on('change:description', this.render, this); 
    } 
}); 
1

를 다시 렌더링 Backbone-relational Events 당신이 (당신이 update:<key>에 결합 할 수 있고 더 아래 예제가 있음을 볼 수있는 나는 복사/HasManyHasOne 관계에 변경/업데이트 청취하는 방법에 대한) 아래에 붙여

// Use the 'update' event to listen for changes on a HasOne relation 
// (like 'Person.livesIn'). 
paul.bind('update:livesIn', function(model, attr) { 
    console.debug('update to %o', attr); 
});