jQuery UI小部件中的公共变量?

时间:2011-05-10 13:43:48

标签: jquery jquery-ui variables plugins widget

我正在寻找在jQuery UI小部件工厂(jquery.ui.widget.js)之上构建的jQuery插件中存储公共变量的最佳方法。

(function($,undefined) {

$.widget('namespace.name',{

    publicVar: '',

    options: {

    },

    _create: function() {

        console.log(this.publicVar);
    },

    publicMethod: function() {

    },

});

})(jQuery);

变量需要对插件的每个实例都是唯一的,因此需要在widget对象$.widget('namespace.name',{});内的某处声明它。此外,我希望可以从每个方法(_create,publicMethod)中访问它。

所以我尝试的是直接在widget对象中声明变量'publicVar'以及选项和方法。这似乎有效,但是无法在窗口小部件之外访问此变量,或者是否存在?

欢迎任何关于如何更好地为jQuery小部件定义公共变量的建议。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找内置于ui框架中的getter / setter方法。 检查jQuery UI Developer Guide

的Setters and Getters部分

查找有关覆盖_SetOption

的部分
  _setOption: function(key, value) {
    // handle new settings and update options hash
  }