@Dokma

Как в backbone сделать одни данные в разных View?

У меня есть 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;
        }
    })
});
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы