将子模型绑定到骨干/牵线木偶中查看

时间:2012-08-08 20:31:49

标签: javascript backbone.js backbone-events marionette backbone-relational

我有一个具有BankAccount模型的用户模型,我查看了谁的模型属性设置为用户模型,在该视图的模板中我引用了银行帐户的属性:

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

如果我更新了bankAccount,则视图无法获取更改:

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

我尝试在User模型的初始化中添加以下内容,但它也不起作用。

initialize: function() {
  var self = this;

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

有什么建议吗?此外,这两种模型都使用骨干关系,如果这有帮助的话。

2 个答案:

答案 0 :(得分:3)

让您的视图订阅BankAccount模型上的description更改事件并重新呈现

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

答案 1 :(得分:1)

Backbone-relational Events您将看到您可以绑定到update:<key>,下面是一个示例(我在下面复制/粘贴),了解如何收听{{1}上的更改/更新}和HasMany关系

HasOne