如何在Jquery UI小部件中实现继承

时间:2016-08-18 04:13:09

标签: javascript jquery jquery-ui jquery-ui-widget-factory

我正在尝试从基本窗口小部件继承到另一个窗口小部件的方法。 这是我的示例代码

我的基本小部件是

$(function () {
    $.widget("UI.baseWidget", {
        options: {
            testVal:''
        },
        _create: function () {
            alert(this.option.testVal);
        },

    });
});

和调用此基本小部件的其他小部件是

$(function () {
    $.widget("UI.MyWidget", $.UI.baseWidget, {
        options: {
          testVal:''
        },
        _create: function () {
            $.UI.baseWidget.prototype._create.call(this);
        }

    });
});

并初始化MyWidgetcode是'

$('#mydiv').MyWidget({testVal:'test widget'})

我们如何将myVidget中的testVal选项传递给baseWidget调用? 而我得到的错误有点像

未捕获的TypeError:我不是构造函数

未捕获的TypeError:$(...)。MyWidget不是函数

请帮我解决这个问题。提前谢谢

1 个答案:

答案 0 :(得分:2)

似乎工作正常:我只进行了一次更正:更改了alert(this.option.testVal);中选项的选项,并弹出了带有“测试小部件”的警报。您还可以尝试创建小部件jquery onReady并查看是否可以解决问题,即:

$(function () {
    $('#myDiv').MyWidget({testVal:'test widget'});
});

请参阅https://jsfiddle.net/5gmn6x7k/4/

上的代码