gpt4 book ai didi

SAPUI5 在详细 View 中获取当前上下文

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:15 27 4
gpt4 key购买 nike

我有一个带有主视图和详细 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com