我正在从头开始编写一个新的 jquery-ui 小部件。我找到了官方的“小部件工厂如何工作”文档。( http://jqueryui.com/demos/widget/ )
小部件本身工作正常。现在我想在内部存储一些值 - 有没有首选的方法来做到这一点?
我认为在选项中声明的所有属性都是公共的。
谢谢你的帮助!
我正在从头开始编写一个新的 jquery-ui 小部件。我找到了官方的“小部件工厂如何工作”文档。( http://jqueryui.com/demos/widget/ )
小部件本身工作正常。现在我想在内部存储一些值 - 有没有首选的方法来做到这一点?
我认为在选项中声明的所有属性都是公共的。
谢谢你的帮助!
只需在this
. 例如,一个基本的小部件看起来像这样:
$.widget('some_name', {
options: { /* ... */ },
_create: function() {
// ...
this.internal_value = 11;
// ...
},
frobnicate_by: function(this_much) {
this.internal_value += this_much;
}
// ...
});
您可以根据this
需要将内部值设置为属性。例如,上面设置this.internal_value
为初始值 11 并且$(s).some_name('frobnicate_by', 23)
会更改internal_value
.
您可以通过查找链接到的示例小部件中查看内部属性的示例this.changer
。
options
用于在有人创建您的小部件实例时可以配置的东西。内部设置不需要任何特殊处理,它们只是普通的旧对象属性;小部件工厂的优点之一是它可以轻松地在小部件中执行正常的 OO 操作。