У меня есть View с шапкой и к нему модель с данными, так же есть View с блоком ставки и к нему тоже модель. В них обоих есть данные о пользователе и свои данные, как мне синхронизировать у них данные о пользователе, не понимаю. Пока сделал переменную window.user и оттуда беру данные в модель каждого View. Но если менять переменную, в View все не обновляется. Скажите как будет правильно
var headerView;
$(function () {
var Header = Backbone.Model.extend({
defaults: {
online: 0,
user: false
},
initialize: function () {
console.log('rt');
},
});
var HeaderView = Backbone.View.extend({
model: new Header({
user: window.user
}),
template: _.template($('#header-m-template').html()),
initialize: function () {
console.log(this.model.toJSON());
this.listenTo(this.model, 'change', this.render);
this.render();
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
headerView = new HeaderView({
el: $('.header-m')
});
});
$(function () {
var BetInput = Backbone.Model.extend({
defaults: {
bet: 0,
user: false
},
validate: function (args) {
if(parseInt(args.bet) < 0) {
return 'Ставка должна быть больше 0';
}
}
});
var BetInputView = Backbone.View.extend({
model: new BetInput({
user: window.user
}),
template: _.template($('#bet-input-template').html()),
initialize: function () {
console.log(this.model.toJSON());
this.listenTo(this.model, 'change', this.render);
this.render();
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
})
});