点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我是sapUI5空间的新手,我想做的是调用" sap.ndc.BarcodeScanner.scan"函数来扫描这样的条形码:
onPress:function(oEvent){ sap.ndc.BarcodeScanner.scan( 函数(mResult){ this.NavResult(mResult); }, 函数(错误){ }, 函数(mParams){ } ); }, NavResult:function(mResult){ var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo(" ResultView",{barcode:" barcode"}); }
我的要求是,一旦成功读取条形码,便移至下一个视图。 但是上述调用方法" NavResult(mResult)"在回调函数中未被识别,似乎是范围问题。
我收到以下错误:
未捕获的TypeError:this.NavResult不是函数 at Object.eval [as onSuccess](ScanView.controller.js?eval:50) 在Object.onOK(BarcodeScanner.js?eval:6) 在f.a.fireEvent(EventProvider-dbg.js:228) 在f.a.fireEvent(Element-dbg.js:431) 在f.firePress(ManagedObjectMetadata-dbg.js:568) 在f.d.ontap(Button-dbg.js:289) 在f_a_handleEvent(Element-dbg.js:162) 在builder.U._handleEvent(UIArea-dbg.js:828)上 在HTMLDivElement.dispatch(jquery-dbg.js:4737) 在g(jquery-mobile-custom-dbg.js:1972)
如何更改此功能的范围以使其起作用。 非常感谢您的帮助。
致谢
Rakesh
对不起,我想我把它放错了位置,
是的,在JavaScript中,每个函数都包含一个属性this,在javascript中,this的值不固定,取决于函数的调用方式。 您可以在上方将回调函数传递给条形码对象,并在扫描完成时稍后由条形码调用。 此值是这里永远不会成为控制器的调用对象的值。
要更改此设置,我们可以使用bind()函数将此值设置为控制器。
您能否尝试将此值绑定到上面的函数
嗨,布莱恩,
当我单击扫描时,像这样的绑定会导致其他错误:
它不醒。
一周热门 更多>