2

我喜欢使用 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>

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

4

3 回答 3

2

首先,您需要创建一个模型并将其附加到要绑定数据的视图或全局注册它。在此处查看我对数据绑定的回答: SAPUI5-如何将数据绑定到 sap.ui.layout.form?

关于 HTMLView 和 XMLView 的使用,请在此处查看我对声明性支持的一般回答:声明性支持问题

GL克里斯

于 2014-02-05T08:51:00.060 回答
1

您可以像以前那样重载每个托管的 ui5 对象。

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

于 2014-02-05T08:43:44.990 回答
1

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

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

对于“应该”的各个层次的力量,当然。

于 2014-02-05T09:56:28.013 回答