У меня есть объект в JS, в котором я пытаюсь протестировать Reactive Framework. В подписке на событие я хотел бы вызвать метод экземпляра включающего класса, в котором определена подписка, например так;
function MyClass()
{
var DoSomething = function(a,b) { ... }
var InstanceVariable = 1;
this.uiEvent = uiDiv.jqueryUiWidget("widget")
.toObservable("change")
.Subscribe(
function (event)
{
// Want to call the instance method in the enclosing class
DoSomething(1,2);
});
this.uiEvent2 = uiDiv.jqueryUiWidget("widget")
.toObservable("change")
.Subscribe(
function (event)
{
// Want to use the instance variable within here
alert(InstanceVariable);
});
}
Как я могу это сделать (поскольку область действия this соответствует подписке)? Должен ли я передавать функцию / переменную при настройке подписки каким-либо образом?
Если я пытаюсь сделать это, я получаю сообщение об ошибке во всех браузерах, в котором говорится, что переменные или методы экземпляра не существуют: «this» в рамках функции, где я хочу вызывать члены экземпляра, ссылается на Observer и так же имеет функции OnNext, OnCompleted и т. д.
Большое спасибо,
Пол