我是SAPUI5环境和JavaScript的新手。 我使用主详细信息模板,因此在供应商显示的主页面上,在详细页面上显示他们生产的产品。我的目标是在母版页上显示每个供应商名称背后的产品数量。 产品和供应商是2个实体并且有关联。 我的详细控制器中有一个函数,它对表格长度进行计数,并在详细信息页面上显示变量。 如何在我的母版页中获取此变量?
我尝试使用OData操作,没有工作导致2个实体之间的依赖。
我尝试使用Eventbus来访问从主控制器到详细控制器的计数功能。触发事件时出现问题。
我尝试将我的功能显示为一个对象,并且对varibles的访问存在问题。
有人为我的问题提供智能解决方案吗? :)
此致 菲利克斯
答案 0 :(得分:1)
实现这一目标的最简单方法是让OData服务为您完成繁重的工作。您应该向包含产品数量的Supplier实体添加其他属性。
您在上面描述的方法,即将计数从详细页面转移到母版页,并不真正有效,因为详细页面仅显示一个供应商的产品。在您的问题中,您声明要显示所有供应商的计数。这将要求您在详细信息页面中为列表中的所有供应商运行逻辑。
如果每个供应商的产品数量不高,您还可以考虑使用/Suppliers?$expand=Products
扩展每个供应商的产品,并在收到数据时添加一些逻辑来计算每个供应商的产品(例如,在运行change
时使用bindElement
事件集。如果每个供应商都有大量产品,这将非常慢,因为每个供应商的所有产品都会被检索并下载和计算。
另一种缓慢的方法是为列表中的每个供应商的OData服务启动$ count查询。虽然这会减少前端的压力,但这可能会导致运行OData服务的后端产生更大的压力。
在您的情况下,计算替代方案不太可能是一个可行的选择。如果我是你,我会尝试扩展OData服务。