点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
在成功绑定视图的数据后,我正在尝试执行一些操作。 我认为最好的主意是在 attachModelContextChange 方法的回调中进行操作。 定义了哪种方法为回调并将事件侦听器附加到视图后,当我尝试将数据绑定到视图时,出现错误: 无法读取未定义的属性" call"。 我要在下面粘贴我的控制器代码片段和堆栈跟踪。
onInit:function(){ var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.attachRouteMatched(this.routeMatched,this); }, routeMatched:函数(oEvent){ var sEntityPath, oParameters = oEvent.getParameters(); this.routeName = oParameters.name; this.getView()。detachModelContextChange( this.modelCallback('edit'), this.getView() ); 如果(oParameters.name ===" EditItem"){ 如果(!isNaN(oParameters.arguments.id)){ this.getView()。attachModelContextChange(null, this.modelCallback('edit'), this.getView() ); sEntityPath ="/img/ItemData(" + oParameters.arguments.id +")"; this.getView()。bindElement(sEntityPath); } 其他{ var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo(" CreateItem",{ 来自:" EditItem" },错误); } } }, modelCallback:函数(类型){ console.log(type); }
modelCallback 方法中的 console.log 正在正确启动。 用
删除行this.getView()。bindElement(sEntityPath);
防止触发错误(但是这样我当然不会在视图中获取任何数据)。
有什么想法我想念什么?
下面我粘贴堆栈跟踪:
datajs.js:17未捕获的TypeError:无法读取未定义的属性"调用" 在f.a.fireEvent(sap-ui-core.js:449) 在f.a.fireEvent(sap-ui-core.js:991) 在f.fireModelContextChange(sap-ui-core.js:573) 在f.h.setElementBindingContext(sap-ui-core.js:524) 在builder.i(sap-ui-core.js:500) 在builder.a.fireEvent(sap-ui-core.js:449) 在构造函数中B._fireChange(sap-ui-core.js:1302) 在评估时(library-preload.js:2375) 在u(library-preload.js:2460) 在d_r_processSuccess(library-preload.js:2492)
尝试传递对函数的引用
并在分离中使用相同的var引用。
此致
Jamie
这正确地附加了该方法,但是现在的问题是-如何正确分离此方法? 在此版本中,this.getView()。mEventRegistry上的console.log将返回一个增长的数组(具有键modelContextChange),因为每次将事件附加到该数组时,该数组都会无限增长。 我尝试过:
但是它没有按预期工作(阵列仍在增长)。
一周热门 更多>