1

_create別のライブラリからインスタンスを作成し、ウィジェットのプライベートおよびパブリック関数からこれにアクセスしようとしています。これは可能ですか?

$.widget('namespace.pluginName', {
    _create: function() {
        // Create instance from other library on create 
        var someovar = otherlibrary.function(options);
    },
    _privatemethod: function() {
        var self = this;
        // Call "samovar" instance?
        self._create.somevar.function( "option", function() {
            // Do sutff 
        });     
    }
}));

var div = $('#my_div');また、選択内容を onのように 1 回だけキャッシュするのも好き_createです。現在、10 個の異なる関数で同じ div を再選択する必要があります。これはそれを行う方法ですか、それともキャッシュを無視する必要がありますか?

ありがとう!

4

1 に答える 1

0

私はテストしていませんが、次のようにしてみてください:

$.widget('namespace.pluginName', {
    _create: function() {
        // Create instance from other library on create 
        this.someovar = otherlibrary.function(options);
    },
    _privatemethod: function() {
        var self = this;
        // Call "samovar" instance?
        this.somevar.function( "option", function() {
            // Do sutff 
        });     
    }
}));

Alto $.widget() は、ウィジェットのプロトタイプ (別のオブジェクト) である 3 番目のパラメーターを取ります。おそらく、あなたのケースでは何らかの形で役立つかもしれません-たとえば、言及されたキャッシュを保存する場合などです。

于 2012-09-06T12:56:55.187 に答える