Как упоминалось ранее, this
является наиболее распространенным способом вызова функций виджета из виджета.
В вашем примере это не имеет смысла:
_widget: this
потому что вам нужен контекст уже для того, чтобы добраться до переменной _widget.
Иногда невозможно сохранить контекст в легко доступном месте, например, при создании обработчика события, которое не приходитнепосредственно из виджета.
Из Обучение использованию фабрики виджетов
Если вы можете получить управление, либо из экземпляра event.target
, либо из идентификатораэлемент управления, вы можете вызывать функцию .data () для объекта jQuery, передавая имя виджета.Однако используйте тире вместо точки в имени виджета.
var $control = $('#' + myControlId);
var $widget = $control.data("my-widget");
$widget.getFoo();