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

MyWidget から baseWidget 呼び出しに testVal オプションを渡すにはどうすればよいですか? そして、次のようなエラーが発生します

キャッチされていない TypeError: i はコンストラクターではありません

キャッチされていない TypeError: $(...).MyWidget は関数ではありません

この問題を解決するのを手伝ってください。前もって感謝します

4

1 に答える 1

2

正常に動作しているようです: 修正を 1 つだけ行いました: オプションをオプションに変更しalert(this.option.testVal);、「テスト ウィジェット」のアラートが正常にポップアップしました。ウィジェット jquery を作成してonReady、問題が解決するかどうかを確認することもできます。

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

https://jsfiddle.net/5gmn6x7k/4/で私のコードを参照してください

于 2016-08-18T05:18:19.230 に答える