Backbone.js 主干视图listenTo模型对象
我有一个导航视图,如果会话状态已更改,该视图将再次呈现。如果会话模型中的对象Backbone.js 主干视图listenTo模型对象,backbone.js,rendering,render,backbone-views,backbone-model,Backbone.js,Rendering,Render,Backbone Views,Backbone Model,我有一个导航视图,如果会话状态已更改,该视图将再次呈现。如果会话模型中的对象user发生更改,我希望使用相同的方法。但是该行没有效果,因为用户对象不是默认部分中定义的属性。是否有方法侦听或绑定NavView的渲染方法以更改会话模型的用户对象 window.NavView = Backbone.View.extend({ template : _.template($('#tpl-nav').html()), initialize : function() {
user
发生更改,我希望使用相同的方法。但是该行没有效果,因为用户
对象不是默认部分中定义的属性。是否有方法侦听或绑定NavView的渲染方法以更改会话模型的用户对象
window.NavView = Backbone.View.extend({
template : _.template($('#tpl-nav').html()),
initialize : function() {
window.session.on("change:logged_in", this.render, this);
// this one is not working
window.session.on("change:user", this.render, this);
},
);
window.SessionModel = Backbone.Model.extend({
defaults : {
logged_in : false,
user_id : ''
},
initialize : function() {
this.user = new User({ });
}
});
谢谢将此添加到您的代码
会话模型。初始化
:
var self = this;
this.user = new User({ });
this.user.bind('change', function() { self.trigger('change:user'); });