我正在阅读有关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语法/属性还是什么?你知道我在哪里可以得到所有可能的选择吗?
答案 0 :(得分:1)
根据给定的类型,可以使用不同的约束和格式选项。您的情况是整数/数字。
常规属性绑定的可能参数在抽象类sap.ui.base.ManagedObject中定义。
在sap.ui.model.type.Integer类中定义了Integer类型的可能约束和格式选项。
在sap.ui.core.format.NumberFormat类中定义了数字(以及整数)的可能格式选项。
答案 1 :(得分:0)
属性绑定允许控件的属性从模型数据自动初始化和更新。
要在控件上定义属性绑定,存在以下两个选项:
定义了属性绑定后,每次更改绑定的模型属性值时,属性都会自动更新。
定义属性绑定的最方便的方法(在大多数情况下已足够)是在设置对象中将绑定路径包括在大括号内作为字符串文字:
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,这可能会使您的问题更清晰