1

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

我的基本小部件是

$(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'})

我们如何将 testVal 选项从 MyWidget 传递给 baseWidget 调用?我得到了一些错误,比如

未捕获的类型错误:我不是构造函数

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

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

4

1 回答 1

2

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

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

在https://jsfiddle.net/5gmn6x7k/4/上查看我的代码

于 2016-08-18T05:18:19.230 回答