如何在SapUI5中的 XML-View中实现if / else条件,该条件使用来自 JSONModel的标志(条件)?

到目前为止我有一个控制器:

sap.ui.define([
    "sap/ui/core/mvc/Controller","sap/ui/model/json/JSONModel"
],function (Controller,JSONModel) {
    "use strict";

    return Controller.extend("sap.ui.demo.myApp.myController",{
        onInit: function () {
            //// set data model on view
            var oData = {
                title: "A cool title",values: [{name: "Text 1",marketed: true},{name: "Text 2",marketed: false},{name: "Text 3",marketed: true}]
            };
            var oModel = new JSONModel(oData);
            this.getView().setModel(oModel);
        }
    });
});

和一个视图:

<mvc:View
        controllerName="sap.ui.demo.myApp.myController"
        xmlns="sap.m"
>
    <!-- using aggregation binding -->
    <Panel expandable="true" expanded="true" headerText="{/title}" width="100%" content="{/values}">
        <content>
            <Label text="{name}"/>
            <!-- if {marketed} 
                  <Label text="product is marketed"/> 
              else 
                  add nothing 
            -->
        </content>
    </Panel>

</mvc:View>

编辑:

有没有更好的方法来实现它,而不是实现一个矫枉过正的XML预处理器?

解决方法

OpenUI5支持 Preprocessing Instructions和 Expression Binding

使用预处理指令,您可以执行此类操作

<template:if test="{marketed}">
    <template:then>
        <Label text="product is marketed" />
    </template:then>
    <template:else>
        <Image src="path.jpg" />
    </template:else>
</template:if>

我不确定第一行中的测试是否测试null / not null或true / false.

这是表达式绑定可能很方便的地方:它允许在大括号内使用复杂的表达式

<template:if test="{= ${marketed} === true}">

编辑

以下解决方案可能更简单,但似乎有点hacky.

将这两个元素嵌入XML视图中,但使用复杂的表达式绑定切换可见性.

<Label text="product is marketed" visible="{= ${marketed} === true}"/>
<Image src="path.jpg" visible="{= ${marketed} === false}"/>

javascript – 如何在sapUI XML-View中使用if / else条件?的更多相关文章

  1. ios – JSONModel中的NSMutableDictionary – EXC_BAD_ACCESS KERN_INVALID_ADDRESS

    这是应用程序崩溃的地方:这是始发方法:解决方法所以setobject:forKey:可以通过两种方式引起问题.1.如果对象为零或2.键为零.两者都可能导致您看到的崩溃.鉴于您将对象设置为[NSNullnull],假设它是提供问题的关键,可能是安全的.从那里回来,会显示className是零.如果你看,你的代码不能防止这种情况.你在这里假设NsstringFromClass给你一个有效的字符串,它假定原来传递给该方法的值是非零的.如果它是零,它将使它通过所有的检查,包括!

  2. 在Swift中使用JSONModel 实例代码

    本文主要介绍在Swift中使用JSONModel,这里给大家提供代码实例做参考,希望能帮助有需要的小伙伴

  3. 使用Python完成SAP客户端的打开和系统登陆功能

    这篇文章主要介绍了使用Python完成SAP客户端的打开和系统登陆,涉及到SAP的打开和登录过程,本文重点介绍如何通过Python完成SAP应用程序的打开并进入特定的”用户指定系统“,需要的朋友可以参考下

  4. 在sap abap中,我可以看到一个变量启用了列表导出到电子表格,但另一个变量禁用了列表导出。如何启用它?

    在sap中,我无法看到在列表下为一个变量启用了导出到电子表格,但它为另一个变量禁用了。

  5. 为什么PHP开发人员比.NET开发人员便宜?

    我有一些关于学习的简易性和工具和服务器成本的理论,但希望得到其他人的一些反馈.其次,这对项目总成本和持续维护有何影响?一般来说,您是否会认为典型网站的总体工作量与两者相似,或者一项技术是否会给予时间优惠?我认为这也与客户的性质有关.PHP(这是一个大的统一!

  6. php – 如何传递参数,如标题,摘要和图像在facebook sharer url

    题:我需要通过我的内容,如title,summmary和image在Facebooksharerurl这样.问题是它自动从上面提到的URL(http://myurl.com/overview/sap-talent)中获取一些内容,我不知道我的标题和摘要数据在哪里.我有任何其他方式通过Facebooksharer.PHP分享我的自定义标题,摘要和图像.看起来Facebook禁止向参与者传递参数.We

  7. sapui5 OPTIONS 请求

    在SMPKepsel应用中用ajax,OData类库以GET,POST方法请求http://xxxx资源的时候,app会先发个OPTIONS请求过去如果app的sapui5库用的是onlinesapui5J2EEWeb应用host的,那么sapui5J2EEWeb应用里面有simpleproxy,这个时候你可以吧url改写为proxy/http/xxxx参考:https://archive.sap

  8. Centos 部署 java sap 环境 sapjco2.1.8

    最先进项目需要跟SAP进行交互,从windos环境切到正式环境出现很多问题简单介绍下解决方法,不正确的地方还望大家指正一、确认jar包1、用于环境变量的jcoforlinux:libsapjcorfc.so、libsapjcorfc.so、sapjco.jarlibstdc++-libc6.2-2.so.32、用于应用程序的sapjco-ntintel-2.1.8:librfc32.dll、sapjcorfc.dll、sapjco.jar(同上)SAP依赖的环境包要求很严格不管是区分系统是32位64位、区

  9. ios – JSONModel:json到数组?

    是否可以使用JSONModel将json解析为JSONModel对象数组?

  10. javascript – 如何在sapUI XML-View中使用if / else条件?

    如何在SapUI5中的XML-View中实现if/else条件,该条件使用来自JSONModel的标志(条件)?到目前为止我有一个控制器:和一个视图:编辑:有没有更好的方法来实现它,而不是实现一个矫枉过正的XML预处理器?

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部