#xml #sapui5
#xml #sapui5
Вопрос:
У меня есть технические сомнения в UI5.
Как мы используем управляющие операторы в представлении XML? Например, как if-else. У меня есть условие, при котором, если оно удовлетворено, должны отображаться несколько разных строк кода. Я просмотрел и смог найти инструкцию препроцессора:
Код:
<template:if test="{meta>ImageUrl}">
<template:then>
<Image src="{path: 'meta>ImageUrl', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
</template:then>
<template:else>
<Text text="{path: 'meta>Title/Value', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
</template:else>
</template:if>
Однако пространство имен для «template» (xmlns:template=»http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1 «) больше не существует.
Кто-нибудь знает, как заставить это работать? Я не хочу использовать троичный оператор, это невозможно для сценария.
Ответ №1:
Вы могли бы использовать свойство visible. Тогда элементы управления будут отображаться, но не отображаются. Средство форматирования упрощает чтение условия, будь то неопределенное или нулевое.
XML:
<Image visible="{ path: 'meta>ImageUrl', formatter: '.Formatter.visible' }" src="{path: 'meta>ImageUrl', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
<Text visible="{ path: 'meta>ImageUrl', formatter: '.Formatter.visible' }" text="{path: 'meta>Title/Value', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
Форматировщик:
visible : function(value) {
return !(typeof(value) === 'undefined' || value === null);
}
Комментарии:
1. Ценю ответ, но видимость сама по себе — это не то, что я ищу. Я обеспокоен тем, что простой оператор управления не поддерживается в SAP UI5 из коробки, что мы можем сделать так легко, например, в JSP!