绑定子模型以在骨干/木偶中查看
Bind sub-model to view in backbone / marionette
我有一个具有银行账户模型的用户模型,并且我查看谁的模型属性设置为用户模型,并且在该视图的模板中,我引用了银行帐户的属性:
<%= 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');
});
});
}
有什么建议吗?此外,如果有帮助的话,这两种模型都使用主干关系。
让你的视图订阅银行账户模型上的description
更改事件并重新呈现自身
UserView = Backbone.View.extend({
initialize: function() {
this.model.get('bankAccount').on('change:description', this.render, this);
}
});
从主干关系事件中,您将看到您可以绑定到update:<key>
,在下面有一个示例(我在下面复制/粘贴)关于如何监听HasMany
和HasOne
关系的变化/更新
// 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 );
});
相关文章:
- Backbone.js将模型绑定到视图时出错
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- NG-重复中断指令模型绑定
- 模型绑定重置后,Angularjs 电子邮件表单字段未清除/重置
- 如何将角度动画延迟到模型绑定之后
- 模型如何将Javascript FormData与Asp.net Controllers模型绑定
- Angular Js将文本输入与模型绑定
- ASP.Net MVC模型绑定到javascript
- 如何在编辑项目时禁用模型绑定
- 如何在AngularJS中创建类似字典的模型绑定
- ng模型绑定无法使用ng模板
- 模型绑定在 AngularJS 中不同步
- 如何将指令模型绑定到异步服务数据
- 挖空视图模型绑定未定义错误
- JS框架如何将模型绑定到视图
- AngularJS将模型绑定到ngRepeat(并对其进行评估)
- 将模型绑定到模板的控件
- AngularJS和Play框架模型绑定和模板
- MVC 模型绑定无法通过 AJAX 请求工作