“路径”,“类型”,“ formatOptions”,“约束”代表什么是数据绑定属性

时间:2019-10-06 12:51:50

标签: javascript xml sapui5

我正在阅读有关data binding syntax(SAPUI5)的教程。这是将数据绑定到oData模型的示例:

    <Input value="{
                    path: '/number',
                    type: 'sap.ui.model.type.Integer',
                    formatOptions: {
                                     minIntegerDigits: 3
                                   },
                    constraints: {
                                   maximum: 1000
                                 }
                  }"/>

所以,问题是:“路径”,“类型”,“ formatOptions”,“约束”代表什么?我的意思是,我意识到-这些是一些绑定属性。 Input控件的value属性是一个字符串。因此,绑定属性将在控件内部的某个位置进行解析和解释,但是从语义上讲,它们不是控件的一部分。那么,它是一些oData语法/属性还是什么?你知道我在哪里可以得到所有可能的选择吗?

2 个答案:

答案 0 :(得分:1)

根据给定的类型,可以使用不同的约束和格式选项。您的情况是整数/数字。

常规属性绑定的可能参数在抽象类sap.ui.base.ManagedObject中定义。

sap.ui.model.type.Integer类中定义了Integer类型的可能约束和格式选项。

sap.ui.core.format.NumberFormat类中定义了数字(以及整数)的可能格式选项。

答案 1 :(得分:0)

属性绑定

属性绑定允许控件的属性从模型数据自动初始化和更新。

要在控件上定义属性绑定,存在以下两个选项:

  1. 在控件的构造函数中的 settings 对象中
  2. 使用控件的 bindProperty 方法

定义了属性绑定后,每次更改绑定的模型属性值时,属性都会自动更新。

定义属性绑定的最方便的方法(在大多数情况下已足够)是在设置对象中将绑定路径包括在大括号内作为字符串文字:

var oTextField = new sap.ui.commons.TextField({
    value: "{/company/name}"
});

或者(我想这就是您的要求),您可以对属性绑定使用扩展语法。使用此扩展语法,可以定义要包含在设置对象中的其他绑定信息,例如格式化程序功能。在这种情况下,您将使用JS对象而不是字符串文字。 这必须包含包含绑定路径的路径属性,并且可以包含其他属性:

var oTextField = new sap.ui.commons.TextField({     值:{         路径:“ /公司/名称”,         模式:sap.ui.model.BindingMode.OneWay,         格式化程序:.myFormatterFn     } }); 这将触发控制器上的myFormatterFn函数,并将返回的值附加到textFiled。

而不同类型可以是以下之一:

  • sap.ui.model.type.Boolean
    此类表示布尔型简单类型。

  • sap.ui.model.type.Currency
    此类表示货币复合类型。

  • sap.ui.model.type.Date
    此类表示日期简单类型。

  • sap.ui.model.type.DateInterval
    此类表示日期间隔复合类型。

  • sap.ui.model.type.DateTime
    此类表示日期时间简单类型。

  • sap.ui.model.type.DateTimeInterval
    此类表示DateTime时间间隔组合类型。

  • sap.ui.model.type.FileSize
    此类表示文件大小的简单类型。

  • sap.ui.model.type.Float
    此类表示浮点简单类型。

  • sap.ui.model.type.Integer
    此类表示整数简单类型。

  • sap.ui.model.type.String 此类表示字符串简单类型。

  • sap.ui.model.type.Time
    此类表示时间简单类型。

  • sap.ui.model.type.TimeInterval
    此类表示时间间隔复合类型。

  • sap.ui.model.type.Unit
    此类表示Unit复合类型。

您可以为构造函数中的每个SimpleType生成以下参数:

格式选项:格式选项定义值的格式和在UI中的显示方式。

约束:约束是可选的,用于定义在UI中输入的输入值的外观。在解析期间,将根据这些约束条件来验证值。例如,String类型具有maxLength和minLength的约束,这些约束在解析输入值时会自动验证。

请检查this doc,这可能会使您的问题更清晰