嵌套表达式绑定的语法 [SAPUI5]
Syntax for a nested expression binding [SAPUI5]
我想根据两种不同条件的测试来设置可见性。它必须满足以下测试。
我要测试的东西:
- 姓名 !== ''
- and 名称不为空
AND
- nr === 13;
- 或 nr === 14;
语法:
<Button visible="{= {${modelExample>name} !== '' && ${modelExample>name} !== null} && {${modelExample>nr} === 13 || ${modelExample>nr} === 14 } ? true: false}"
问题:它确实给出了一个错误。
问题:这个条件的合适语法是什么。甚至可以测试两种不同的东西吗?
表达式绑定的可读性有点...
如果您的情况变得复杂,请使用格式化程序。(IMO 更好的可读性)
Expression Binding
JSONModel
this.getView().setModel(new JSONModel({
name: "",
nr: 10
}), "json");
XML
<Button text="test" visible="{= ${json>/name} && (${json>/nr} === 13 || ${json>/nr} === 14) ? true : false}"/>
Formatter
formatter.js
myCond: function (sName, iNumber) {
if (sName && (iNumber === 13 || iNumber === 14)) {
return true;
} else {
return false;
}
}
XML
<Button text="test" visible="{ parts: ['json>/name', 'json>/nr'], formatter: '.formatter.myCond'}"/>
我想根据两种不同条件的测试来设置可见性。它必须满足以下测试。
我要测试的东西:
- 姓名 !== ''
- and 名称不为空 AND
- nr === 13;
- 或 nr === 14;
语法:
<Button visible="{= {${modelExample>name} !== '' && ${modelExample>name} !== null} && {${modelExample>nr} === 13 || ${modelExample>nr} === 14 } ? true: false}"
问题:它确实给出了一个错误。
问题:这个条件的合适语法是什么。甚至可以测试两种不同的东西吗?
表达式绑定的可读性有点... 如果您的情况变得复杂,请使用格式化程序。(IMO 更好的可读性)
Expression Binding
JSONModel
this.getView().setModel(new JSONModel({
name: "",
nr: 10
}), "json");
XML
<Button text="test" visible="{= ${json>/name} && (${json>/nr} === 13 || ${json>/nr} === 14) ? true : false}"/>
Formatter
formatter.js
myCond: function (sName, iNumber) {
if (sName && (iNumber === 13 || iNumber === 14)) {
return true;
} else {
return false;
}
}
XML
<Button text="test" visible="{ parts: ['json>/name', 'json>/nr'], formatter: '.formatter.myCond'}"/>