作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个带有主视图和详细 View 的 SAPUI5 拆分应用程序。
当我在侧栏中选择一个项目时,我将上下文传递给详细 View ,假设是产品 1
onSelectProduct: function(evt){
sap.ui.getCore().getEventBus().publish("app", "refreshProductDetail", {context : evt.getSource( ).getBindingContext()});
},
这会触发以下绑定(bind)上下文的函数:
refresh: function(channelId, eventId, data){
if (data && data.context) {
this.getView().setBindingContext(data.context);
}
},
现在,当我执行保存等操作时,我想获取模型中产品 1 的当前数据。
但是,当我使用
this.getView().getBindingContext().getModel()
它返回包含所有产品的模型。我如何知道用户当前正在查看哪一个?
最佳答案
您可以使用 bindingContext 的 getPath()
来查看当前显示的对象:
this.getView().getBindingContext().getPath();
你可以这样做:
var bindingContext = this.getView().getBindingContext();
var path = bindingContext.getPath();
var object = bindingContext.getModel().getProperty(path);
如果您只想要显示对象的某个属性,您可以这样做:
var property = bindingContext.getProperty("<nameOfProperty>");
返回特定上下文中对象的属性。
更新:
您可以简单地调用 bindingContext 的 getObject()
,它返回当前上下文指向的模型中的对象:
var object = bindingContext.getObject();
参见 documentation of Context获取更多信息。
关于SAPUI5 在详细 View 中获取当前上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24324965/
我正在使用 sapui5 创建一个表。我想知道我是否可以将升序排序和降序排序的默认图标更改为我自己的图标? 补充问题:有没有一种方法可以在标题中显示我的自定义图标而无需先点击它? 最佳答案 只需在 W
我如何在 SapUI5 中构建一个 XML View 来迭代 JSONModel 中的所有元素? 到目前为止,我有一个 Controller : sap.ui.define([ "sap/ui
我是一名优秀的程序员,十分优秀!