1

我有一個擁有BankAccount模型的用戶模型,並且我查看誰的模型屬性設置爲用戶模型,並且在該視圖的模板中引用了銀行帳戶的屬性:綁定子模型以查看主幹/牽線木偶

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

如果我更新了的BankAccount視圖不上的變化回暖:

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); 
});