我在 JS 中有一个对象,我试图在其中测试反应式框架 在事件订阅中,我想调用定义订阅的封闭类的实例方法,如下所示;
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”指的是观察者,所以有OnNext、OnCompleted 等函数
非常感谢,
保罗