javascript - 绑定(bind)子模型以在 Backbone /Marionette 中查看

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

我有一个 User 模型,它有一个 BankAccount 模型,我有一个 View ,谁的模型属性设置为 User 模型,在那个 View 的模板中,我引用了银行账户的一个属性:

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

如果我更新了 bankAccount, View 不会接受更改:

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

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

最佳答案

让您的 View 订阅 BankAccount 模型上的 description 更改事件并重新呈现自身

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

关于javascript - 绑定(bind)子模型以在 Backbone /Marionette 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872687/

相关文章:

javascript - 传单 map 事件 'load' 不触发

javascript - 主干窗口按键事件?

javascript - 使用 POST 请求获取集合?

javascript - 仅在瞬间渲染主干 View

javascript - 主干路由器创建多个 View ,导致多个事件绑定(bind)到同一个 View

javascript - 在传播之前使用自定义数据扩展事件

Javascript 工具提示悬停并单击

javascript - Vuefire - 在 v-for 循环中获取 key

javascript - 如何从字符串中获取 JSON 元素(包含 JSON 对象)。

java - 制作更改密码的功能