Sapui5 数据绑定-getBindingContext()返回绝对路径而不是相对路径
我有一张桌子,我正在发射一个关于行选择的事件。在处理程序中,我希望获取所选行的上下文,然后为较低级别的oData对象创建新上下文,然后将其绑定到文本视图 我相信有一种非常简洁的方法可以做到这一点,但目前我: 获取绑定路径并添加字符串以创建到我的低级对象的路径: var path=oEvent.getParameters().listItem.getBindingContext().sPath+“/ComplianceNote” 这是返回一个以/作为第一个字符的路径,据我所知,这意味着它是服务的根对象,或者这是一个“绝对”路径。我当前的解决方法是删除第一个字符:Sapui5 数据绑定-getBindingContext()返回绝对路径而不是相对路径,sapui5,Sapui5,我有一张桌子,我正在发射一个关于行选择的事件。在处理程序中,我希望获取所选行的上下文,然后为较低级别的oData对象创建新上下文,然后将其绑定到文本视图 我相信有一种非常简洁的方法可以做到这一点,但目前我: 获取绑定路径并添加字符串以创建到我的低级对象的路径: var path=oEvent.getParameters().listItem.getBindingContext().sPath+“/ComplianceNote” 这是返回一个以/作为第一个字符的路径,据我所知,这意味着它是服务的根
path = path.substr(1, path.length);
然后我可以绑定我的文本视图:
noteText.bindElement(path);
noteText.bindProperty("text", "Note");
这很好用,但在我看来,这是一种用字符串进行黑客攻击的代码气味。我的问题是:
GregorOData还是OData?bRelative=!jQuery.sap.startsWith(sPath,“/”)(!bRelative)this.getBindingContext().getPath().substr(1)OData,oops。你的意思是用三元运算符检查第一个字符吗?i、 e
var-bRelative=!jQuery.sap.startsWith(路径“/”)?(path):path.substr(1)代码>是-如果您想将/Products(2)/Notes绑定到控件,如果它已经继承或设置了/Products(2)”的bindingContext,那么路径将是相对的,例如“Notes”没有斜杠,否则对于ODataModel,您需要设置完整路径“/Products(2)/Notes”绑定路径语法上的doco