fka blog journal of programming studies

Backbone.js’de ModelView Yardımcı Sınıfı Oluşturmak

Backbone.js ile uygulama geliştirirken her modelin viewi için bir render methodu tanımlamak durumunda kalıyorduk. Ve bu method hep aynı işlemi yapıyordu. Bu yüzden bu kod fazlalığını azaltmak için çok basitçe bir yöntemle ModelView üst sınıfı yaratayım dedim.

Backbone.ModelView = Backbone.View.extend({
    render: function() {
        this.setElement(this.template(this.model.toJSON()));
        return this;
    }
});

Böylece Backbone içerisinde bir sınıf yaratmış olduk. Artık aşağıdaki şekilde bir modelin view’ini tanımlayabilir olacağız:

var productView = Backbone.ModelView.extend({
    template: _.template('<li><%= name %></li>')
});

var product = Backbone.Model.extend();

var view = new productView({model: new product({name: 'test'})});

view.render().el //render edilmiş halini dönecek!

Bu basit örnekte görüldüğü gibi, her seferinde yeni bir render methodu tanımlamak zorunda kalmıyoruz.