关于sap:关于-SAP-UI5-MessageProcessor-消息创建的问题

41次阅读

共计 1424 个字符,预计需要花费 4 分钟才能阅读完成。

咱们在单步调试 SAP UI5 OData 模型或者 JSON 模型初始化代码时,都会发现 sap.ui.model.Model 结构函数调用了其基类 MessageProcessor 的构造函数,如下图所示:

MessageProcessor 是 SAP UI5 对立存储和治理各种类型的 Message 的实现类之一。

以下是在 SAP UI5 里手动创立音讯或扩大框架提供的消息传递性能的一些办法:

  • 能够通过地方 sap.ui.core.message.MessageManager API 手动创立自定义音讯。对于这些手动创立的音讯,应用程序必须确保适当的音讯生命周期。
  • 对于自定义指标格局,能够应用自定义音讯处理器。本人的音讯处理器要继承类 sap.ui.core.message.MessageProcessor。
  • 如果应用的后端以非凡形式提供音讯,能够应用本人的 sap.ui.core.message.MessageParser 实现。

Message Model

通过调用 getMessageModel() 办法从音讯管理器中检索音讯模型。能够间接在应用程序中应用它,也能够将它用作参考实现。

能够像应用任何其余模型一样应用音讯模型将聚合绑定到根门路(/),例如列表中的我的项目,并增加过滤器和排序器。/ 汇合中的每个我的项目都代表一个 sap.ui.core.message.Message 对象,因而能够绑定到为此类对象指定的所有属性。MessagePopover 控件用于向用户显示音讯。

示例代码如下:

// "Button" required from "sap/m/Button"
// "MessagePopover" required from "sap/m/MessagePopover"
// "MessagePopoverItem" required from "sap/m/MessagePopoverItem"

var oMessagePopoverButton = new Button({
    text: "Show MessagePopover",
    type: "Accept",
    press: function() {oMP.openBy(this);
    }
});

var oMP = new MessagePopover({
    items: {
        path:"message>/",
        template: new MessagePopoverItem({description: "{message>description}", type: "{message>type}", title: "{message>message}"})
    }
});

oMP.setModel(sap.ui.getCore().getMessageManager().getMessageModel(),"message");

oMessagePopoverButton.placeAt("content");

OData V2 Messages

OData V2 音讯要么由 sap.ui.model.odata.ODataMessageParser 主动创立并由 sap.ui.model.odata.v2.ODataModel 解决,要么能够由应用程序手动创立。

这些音讯的指标能够为空。在这种状况下,音讯没有特定指标并且与整个应用程序相干。如果设置了指标,则它必须对应于绑定门路,而后应用该门路将音讯流传到相应的绑定。如果这些绑定属于实现 refreshDataState 函数的控件,则该控件可能对数据状态更改做出反馈。

正文完
 0