如何在声明视图中使用ViewData

时间:2014-02-05 04:29:31

标签: sapui5

我喜欢使用viewdata将用户上下文注入视图而不使用模型的想法。

数据可以传递给构造函数

sap.ui.view({
  viewName: "myApp.employeeAccess",
  type: sap.ui.core.mvc.ViewType.<type>,
  viewData: userData
});

并且在jsView中可以动态使用值

createContent: function(oController) {
  if (this.getViewData().param1 === 'A') {
  ...

有没有办法在HTML或XML视图中静态访问viewData?

不确定语法,但认为它可能像

<Text
    text="{path : '{viewData.param1}',
           formatter : 'util.Formatter.headerText'}">
</Text>

编辑:更改示例以显示通用参数,而不是看起来像商业数据

3 个答案:

答案 0 :(得分:2)

首先,您需要创建一个模型并将其附加到要将数据绑定到全局或在全局注册的视图。在这里查看我在数据绑定上的答案: SAPUI5-How to bind data to sap.ui.layout.form?

关于HTMLView和XMLView的使用,请在此处查看声明支持的一般答案:Declarative support questions

GL 克里斯

答案 1 :(得分:1)

您可以按照自己的方式重载每个托管的ui5对象。

但在您的情况下,您应该使用数据模型。检查文档:https://openui5.hana.ondemand.com/#docs/guide/GettingStarted.html

答案 2 :(得分:1)

在您编辑的问题的上下文中(根据网址参数显示不同的文字),我建议两件事:

  • 模型应该是使数据可用于视图的机制
  • 基于网址值的决策应通过routing
  • 处理

当然,对于“应该”的各种强度水平。