Sencha touch 类型错误:对象#<;对象>;没有办法
我正在使用Ibm Worklight开发一个混合应用程序,使用sencha touh for UI 在我的控制器中,我调用一个HTTPAdapter,如下所示:Sencha touch 类型错误:对象#<;对象>;没有办法,sencha-touch,ibm-mobilefirst,worklight-adapters,Sencha Touch,Ibm Mobilefirst,Worklight Adapters,我正在使用Ibm Worklight开发一个混合应用程序,使用sencha touh for UI 在我的控制器中,我调用一个HTTPAdapter,如下所示: var invocationData = { adapter : 'UserHttpAdapter', procedure : 'getPersonneMorale', parameters : [] }; WL.Client.invokeProcedure(invocationData, { onSu
var invocationData = {
adapter : 'UserHttpAdapter',
procedure : 'getPersonneMorale',
parameters : []
};
WL.Client.invokeProcedure(invocationData, {
onSuccess : function() {
console.log('Signed in.');
var loginView = this.getLoginView();
mainMenuView = this.getMainMenuView();
loginView.setMasked(false);
Ext.Viewport.animateActiveItem(mainMenuView, this
.getSlideLeftTransition());
},
onFailure : function(){
console.log('failure');
},
});
但我得到了一个错误:
07-07 11:43:45.812: E/NONE(31172): [http://<domain>:<port>/WLErsalMobileTest/apps/services/api/ErsalMobileTest/android/query] exception. TypeError: Object #<Object> has no method 'getLoginView'
07-07 11:43:45.832: D/CordovaLog(31172): file:///android_asset/www/default/worklight/worklight.js: Line 3333 : Uncaught TypeError: Object #<Object> has no method 'getLoginView'
07-07 11:43:45.832: E/Web Console(31172): Uncaught TypeError: Object #<Object> has no method 'getLoginView':3333
无需调用适配器,即可正常工作
你能帮帮我吗
谢谢尝试执行以下操作:
WL.Client.invokeProcedure.apply(this, [invocationData, callbackFunction])
其中callbackFunction是上面的回调函数。我认为问题在于变量“this”没有在回调上下文中指定,因此通过使用apply,可以指定“this”应该是指定的值。试试看它是否有效,尽管我不确定它是否能解决您的问题,因为我不知道它是否会在回调函数中使用给定的“this”。谢谢您的回答。实际上,问题在于“这个”。我做过这样的声明:var me=this;然后在我需要的时候使用我,它就起作用了
WL.Client.invokeProcedure.apply(this, [invocationData, callbackFunction])