sapui5 - 预期为 '}',但在表达式中看到了 '='

标签 sapui5

我目前正在学习 SAP/Open UI5。我已经遵循了 openSAP 上的一些教程平台。现在我正在尝试自己修改一个项目(从模板 SAP Fiori Worklist 应用程序创建)。我正在 Web IDE 中编辑整个项目。

问题

要提出我遇到的问题是,我的 XML View 中有一个包含四列的表。所有这些列都填充了来自 OData 服务的数据。

<ColumnListItem
    type="Navigation"
    press=".onPress">
    <cells>
        <ObjectIdentifier
            title="{Name}"
            text="{ProductID}"/>
        <Text text="{SupplierName}"></Text>
        <Text text="{= ${WeightMeasure} == 0 ? '-' : ${WeightMeasure}}"></Text>
        <ObjectNumber
            number="{
                path: 'Price',
                formatter: '.formatter.numberUnit'
            }"
            unit="{CurrencyCode}"/>
    </cells>
</ColumnListItem>

上面的代码片段位于 items 聚合中。当我现在启动独立应用程序时,通常会出现来自后端的记录。由于我现在已经使用 WeightMeasure 表达式实现了第三行 ({= ${WeightMeasure} == 0 ? '-' : ${WeightMeasure}}),因此我在开发控制台中收到以下错误:

Uncaught (in promise) SyntaxError: Expected '}' and instead saw '=' in expression binding {= ${WeightMeasure} == 0 ? 'Hello' : ${WeightMeasure}} at position 20
    at w (BindingParser-dbg.js:445)
    at Function.a.complexParser [as bindingParser] (BindingParser-dbg.js:482)
    at p (XMLTemplateProcessor-dbg.js:47)
    at K (XMLTemplateProcessor-dbg.js:732)
    at J (XMLTemplateProcessor-dbg.js:630)
    at I (XMLTemplateProcessor-dbg.js:566)
    at l1 (XMLTemplateProcessor-dbg.js:862)

它本身的值确实存在,并且当我刚刚输入变量时也会显示。

我尝试过的

当然,我首先检查了文档并浏览了互联网。我找到了article for expression binding再次。但当我将该示例与我的版本进行比较时,它看起来确实相同。除非我的版本不起作用。

另外,我也尝试过几个相对路径,但最终没有结果。确实看起来某个地方存在语法错误或者可能是什么问题?

最佳答案

我最近也遇到这个问题了。尝试将 == 替换为 ===:

text="{= ${WeightMeasure} === 0 ? '-' : ${WeightMeasure}}"

或者简化

text="{= ${WeightMeasure} || '-'}"

问题在于 UI5 仅支持 Expression Binding 中的严格相等运算符(===!==)

关于sapui5 - 预期为 '}',但在表达式中看到了 '=',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57498153/

相关文章:

xml - 两个相邻的tileContainer

javascript - SAPUI5表单动态添加标签和输入并为输入设置ID但不为功能设置ID

odata - 表动态加载 SAPUI5/UI5

javascript - 删除一个 View 并单击再次打开它,就好像它是新的一样 - SAPUI5

javascript - 单击下一步后保持相同的向导步骤

event-handling - 具有不同 Controller 的 XML View 的共享事件处理程序

javascript - 使用 Puppeteer/Playwright 滚动不适用于 SAPUI5 应用程序

javascript - SAPUI5:将新的 "ViewSettingsItem"添加到片段中的 ViewSettingsDialog 中

javascript - SAPUI5模型加载

google-chrome - 将 UI5 资源升级到 1.54 后,本地引导 SAPUI5 应用程序会引发错误