点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的UI5专家,一个有关SAP UI5工作清单应用程序的问题。
在SAP UI5 SDK联机帮助和多个UI5 SCN线程中,已讨论了将所选主视图条目的绑定上下文移动到详细视图的问题。
主从,工作清单...
这些FIORI平面图可与路由器逻辑一起使用。 使用SAP WEB IDE作为工作清单,将生成详细信息的导航。
这总是以详细视图/控制器中的以下代码结尾:
onInit:函数(){
this.getRouter()。getRoute(" object")。attachPatternMatched(this._onObjectMatched,this);
...
}; _onObjectMatched:函数(oEvent){
var sObjectId = oEvent.getParameter(" arguments")。objectId;
this.getModel()。metadataLoaded()。then(function(){
var sObjectPath = this.getModel()。createKey(" MyMessageSet",{Guid:sObjectId});
this._bindView("/" + sObjectPath);
} .bind(this));
} ;
我的要求是从实际(在选定的主视图中)上下文中提取一个特定的数据列(" Guid")。 我想在this.getRouter()之后的onInit方法中执行此操作...我做了以下代码:
var bindingContext = this.getView()。getBindingContext();
var sObjectGuid = bindingContext.getProperty(" Guid");
问题
========
Chrome调试器因第二条语句而崩溃:
"未捕获(承诺)TypeError:无法读取未定义的属性'getProperty'"
" bindingContext"的监视点:
bindingContext:<不可用>
如何简单地拾取所选(主视图)数据条目的列值?
为什么this.getView()。getBindingContext()...不起作用?
我也尝试使用this.getView()。getBindingContext(" MyModelName");
不起作用...
预先感谢
克劳斯·韦格纳
你好
我认为在事件onInit上,该模型仍未初始化,因此您无法获得绑定上下文。
尝试一下:
尝试执行此操作,否则请尝试执行控制器的onBeforeRendering主事件。
如果没有,我们可以检查更深的错误:)
是的,似乎在经典的UI5生命周期挂钩期间,访问上下文绑定是一个问题 我做的方式。 我有一个"图标"选项卡栏,以获取更多详细信息,并且需要数据主GUID才能访问更多数据。 使用选项卡栏中的事件处理程序可以访问与母版相关的绑定上下文。
我现在有一个关于过滤器的其他问题,但这与我的问题无关。
谢谢您的提示!
克劳斯·韦格纳(Klaus Wegener)
一周热门 更多>