在backbone.js视图中使用jquery自定义小部件
我有一个自定义jQuery小部件,它是从我的应用程序调用的,该应用程序使用backbone.js for MVC。如何在自定义jQuery小部件中使用主干事件模式在backbone.js视图中使用jquery自定义小部件,jquery,backbone.js,backbone-views,jquery-widgets,Jquery,Backbone.js,Backbone Views,Jquery Widgets,我有一个自定义jQuery小部件,它是从我的应用程序调用的,该应用程序使用backbone.js for MVC。如何在自定义jQuery小部件中使用主干事件模式 function( $ ) { $.widget( "medex.chooser", { ... _create: function() { // Would I create a new backbone view here??? } } 谢谢。我认为您需要定义一个自定义视图,然后由自定义小部件调用 在
function( $ ) {
$.widget( "medex.chooser", {
...
_create: function() {
// Would I create a new backbone view here???
}
}
谢谢。我认为您需要定义一个自定义视图,然后由自定义小部件调用 在应用程序初始化代码中,例如:
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 });
}
这段代码可能不是完全有效的,但应该能让您了解所寻找的结构。让我知道这是否适合您。如果您仍在寻找答案,您可以将小部件转换为视图。 从小部件转换为视图的基本规则如下:
- _创建变为初始化
- this.element变为this.$el
- 刷新变成渲染
- 毁灭变成移除
- $('.someDiv').myWidget()成为新的MyView({el:$('.someDiv')})李>
- 选项必须成为构造函数参数,但可以通过两种不同的方式处理
元素
:新视图({el:this.element})
?谢谢,但我希望自定义小部件处理事件。小部件就是视图吗?小部件包含视图?视图包含小部件?还是别的?那是我的问题。小部件是否应该包含视图?小部件基本上并排布置了2个jqgrid,并允许用户将行从一个移动到另一个。我想知道是否有在小部件中创建视图的最佳实践——也许我想得太多了。