如何在jquery-ui小部件中存储内部属性?

Ste*_*ger 5 javascript jquery jquery-ui widget jquery-ui-widget-factory

我从头开始编写一个新的jquery-ui小部件.我找到了官方的'小部件工厂如何工作'文件.(http://jqueryui.com/demos/widget/)

小部件本身工作正常.现在我想在内部存储一些值 - 有一种首选方法吗?
我认为在选项中声明的所有属性都是公共的.

谢谢你的帮助!

mu *_*ort 8

只需使用普通的旧属性即可this.例如,基本小部件看起来像这样:

$.widget('some_name', {
    options: { /* ... */ },
    _create: function() {
        // ...
        this.internal_value = 11;
        // ...
    },
    frobnicate_by: function(this_much) {
        this.internal_value += this_much;
    }
    // ...
});
Run Code Online (Sandbox Code Playgroud)

您可以this根据需要将内部值设置为属性.例如,以上设置this.internal_value为初始值11 $(s).some_name('frobnicate_by', 23)并将更改internal_value.

您可以通过查找链接到的示例窗口小部件中查看内部属性的示例this.changer.

options用于当有人创造你的部件的实例可配置的东西.内部设置不需要任何特殊处理,它们只是普通的旧对象属性; 小部件工厂的一个好处是,它可以轻松地在您的小部件中执行正常的OO操作.