2012-06-05 2 views
0

У меня есть пользовательский виджет jQuery, который вызывается из моего приложения, которое использует backbone.js для MVC. Как я могу использовать шаблон базовых событий в своем пользовательском виджете jQuery?Использование пользовательских виджетов jquery с образами backbone.js

function($) { 
    $.widget("medex.chooser", { 
    ... 
    _create: function() { 
     // Would I create a new backbone view here??? 
    } 
} 

Спасибо.

+0

Почему бы не создать вид нормально, но дать ему виджета '' element': новый View ({эш: this.element}) '? –

+0

Спасибо, но я хочу, чтобы пользовательский виджет обрабатывал события. – Ramya

+0

Так виджет вид? Виджет содержит представление? В представлении содержится виджет? Или что-то другое? –

ответ

0

Я думаю, вам нужно определить пользовательский вид, который затем вызывается вашим пользовательским виджетами.

В вашем приложении код инициализации, например:

APP = {};   // your app's global object 
APP.Views = {}; 

APP.Views.WidgetView = Backbone.View.extend(
{ 
    events: { 
     "click .grid1" : "onGrid1Click" 
    }, 

    initialize: function() { 
     // code here 
    }, 

    onGrid1Click : function(evt) { 
     // code here 
    } 
}); 

Тогда это будет конструктор код виджета:

function Widget(element) { 
    this.view = new APP.Views.WidgetView({ el: element }); 
} 

Этот код не может быть полностью действительным, но должно дать вам идея структуры, которую вы искали. Лемм знает, работает ли это для вас.

0

Если вы все еще ищете ответ, вы можете преобразовать виджет в представление. Основные правила для преобразования из Widget в View являются следующие:.

  • _create становится инициализацию
  • this.element становится это $ эль
  • обновления становится визуализации
  • уничтожить становится удалить
  • $ ('. someDiv'). myWidget() становится новым MyView ({el: $ ('. someDiv')});
  • варианты должны стать параметры конструктора, но могут быть обработаны несколько различных способов