Как сохранить внутреннее свойство в виджете jquery-ui?
Я программирую новый виджет jquery-ui с нуля. Я нашел официальный документ "как работает фабрика виджетов". ( http://jqueryui.com/demos/widget/)
Сам виджет работает нормально. Теперь я хочу сохранить некоторые значения внутри - есть ли предпочтительный способ сделать это?
Я думаю, что все свойства, которые объявлены в опциях, являются публичными.
Спасибо за вашу помощь!
1 ответ
Просто используйте простые старые свойства на 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
используются для вещей, которые можно настроить, когда кто-то создает экземпляр вашего виджета. Внутренние настройки не требуют какой-либо специальной обработки, это просто старые свойства объекта; одна из приятных особенностей фабрики виджетов заключается в том, что она позволяет легко делать обычные вещи в ваших виджетах.