使用带有backbone.js视图的jquery自定义小部件

时间:2012-06-05 13:57:06

标签: jquery backbone.js backbone-views jquery-widgets

我有一个自定义jQuery小部件,我的应用程序使用backbone.js来调用MVC。如何在自定义jQuery小部件中使用骨干事件模式?

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

感谢。

2 个答案:

答案 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 });
}

此代码可能不完全有效,但应该让您了解您正在寻找的结构。 Lemme知道这是否适合你。

答案 1 :(得分:0)

如果您仍在寻找答案,可以将窗口小部件转换为视图。 从Widget转换为View的基本规则如下:

  • _create变为初始化
  • this.element成为了这个。$ el
  • 刷新变为渲染
  • destroy成为删除
  • $('。someDiv')。myWidget()成为新的MyView({el:$('。someDiv')});
  • 选项必须成为构造函数参数,但可以通过几种不同的方式处理