Backbone.component — Автономные Компоненты Пользовательского Интерфейса Для Backbone.js.

В нашем проекте мы используем Backbone.js в качестве основного фреймворка JS. Почему выбор пал именно на него, я, наверное, расскажу в одном из следующих постов, но на этот раз мы поговорим о другом.

Как известно, Backbone «из коробки» предлагает весьма скромные возможности, но компенсирует это максимальной гибкостью.

Поскольку Backbone существует довольно давно и успел обзавестись серьезным сообществом разработчиков, для решения многих типичных проблем Backbone-приложений сегодня существуют плагины или целые фреймворки, построенные поверх Backbone (многие знают, например Позвоночник.

Марионетка , недавно вышедший выглядит очень многообещающе База — кстати, советую присмотреться).

Однако есть одна достаточно распространенная задача, для которой я пока не нашел адекватного решения: речь идет о создании стандартных автономных элементов пользовательского интерфейса.



Допустим, ваш проект использует элемент выбора даты; для его создания вы используете плагин jQuery, который вы нашли на просторах GitHub. С этим последним все в порядке, за исключением того, что вам нужно вручную вытягивать его каждый раз, когда соответствующий ввод появляется на вашей странице, а затем, возможно, еще и очищать создаваемую им разметку, чтобы избежать дальнейших конфликтов.

В конечном итоге вы пишете много повторяющегося кода.

Вот тут-то и пригодится Backbone.Component.



Применение

Идея Backbone.Component во многом схожа с веб-компонентами и компонентами в Эмбер.

js



.

Каждый компонент представляет собой изолированный элемент пользовательского интерфейса со своей разметкой и логикой.





Объявление компонента
Чтобы создать свой компонент, вам необходимо объявить класс, унаследованный от Backbone.Component, и переопределить в нем 3 метода:
  Backbone.Components.MyDate = Bakcbone.Component.extend(

{

generate: function( ) { .

}, activate: function( ) { .

}, deactivate: function( ) { .

} } );

Чтобы:
  • генерировать — метод генерации разметки.

    Он может получать любые параметры и должен возвращать строку (сгенерированный HTML).

  • active — код активации компонента.

    Метод не получает параметров и не возвращает значения.

    В нашем примере с датами это может выглядеть примерно так:

Теги: #backbone.js #Компоненты #Разработка сайтов #JavaScript
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2009-07-01 19:55:59
Баллов опыта: 576
Всего постов на сайте: 5
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.