У меня есть немного кода, который имеет немного внешнего синтаксиса для меня:
$.widget('ui.filterFieldDisplay', $.ui.fieldDisplay, {
setFoo: function() {
.
.
.
// added the next two lines
var fooFieldWidgetOptions = fooFieldOptions.widgetOptions;
fooFieldWidgetOptions['default'] = operator;
var fooChangeProxy = $.proxy(this.fooChange, this);
fooFieldWidgetOptions.changeCallback = fooChangeProxy;
}
fooChange: function(fooModel) {
fooModel.getValue('bar');
.
.
.
}
});
Является ли fooModel
в этом случае ссылкой на this
указатель?
Я знаю, что метод $.proxy
связывает this
указатель с функцией, поэтому он работает в этом контексте. Но я знаю, что this
не fooModel
с fooModel
. Поэтому мой вопрос: что такое fooModel
и откуда оно fooModel
?
Нет, fooModel
будет тем, что было передано как первый параметр для fooFieldWidgetOptions.changeCallback
fooFieldWidgetOptions.changeCallback("helloWorld!"); // fooModel will be 'helloWorld!'
Все $.proxy()
сделал убедиться, что this
внутри fooChange
будет таким же, как this
внутренняя setFoo
fooFieldWidgetOptions.changeCallback
, означает fooModel
это, что fooModel
не undefined
? Это значение по умолчанию?
.
Это просто ваш способ сказать, что есть код, который вы пропустили?.
пропущен код ради секретности.