无法在 Ajax 的成功回调函数中访问视图模型的可观察对象和函数 - 敲除
Cannot access view model's observables and functions inside Ajax's success call back function- Knockout
以下是我为演示我面临的问题而创建的 fiddle:
https://jsfiddle.net/divekarvinit/uyu87427/2/
this.getServiceListSuccess = function(response) {
// The following line gives me error as 'this.testFunction is not a
//function'
this.testFunction();
};
我正在尝试在 Ajax 调用的成功回调函数 (getServiceListSuccess) 中调用视图模型的 'testFunction'。
当我尝试调用该函数时,出现错误
'this.testFunction is not a function'
如何在 ajax 回调中访问视图模型可观察对象和函数?
我们将不胜感激。
这里是您问题的快速解决方案:https://jsfiddle.net/uyu87427/3/
var self = this;
this.getServiceListSuccess = function(response) {
// The following line gives me error as 'this.testFunction is not a
//function'
self.testFunction();
};
当你调用它时,在你的函数内部,你的作用域已经改变。因此,您需要保留对视图模型的引用。
以下是我为演示我面临的问题而创建的 fiddle: https://jsfiddle.net/divekarvinit/uyu87427/2/
this.getServiceListSuccess = function(response) {
// The following line gives me error as 'this.testFunction is not a
//function'
this.testFunction();
};
我正在尝试在 Ajax 调用的成功回调函数 (getServiceListSuccess) 中调用视图模型的 'testFunction'。
当我尝试调用该函数时,出现错误
'this.testFunction is not a function'
如何在 ajax 回调中访问视图模型可观察对象和函数?
我们将不胜感激。
这里是您问题的快速解决方案:https://jsfiddle.net/uyu87427/3/
var self = this;
this.getServiceListSuccess = function(response) {
// The following line gives me error as 'this.testFunction is not a
//function'
self.testFunction();
};
当你调用它时,在你的函数内部,你的作用域已经改变。因此,您需要保留对视图模型的引用。