zoukankan      html  css  js  c++  java
  • sapui5 walkthrough 1-5

    学习SAPUI5的话,walkthrough是一个绕不开的例子,这个例子从零开始,一步一步讲解了sapui5使用的功能,这里做一个整理以及回顾。

    官网:https://sapui5.hana.ondemand.com/#/topic/3da5f4be63264db99f2e5b04c5e853db

    0. Step0 Preparation

    下载Eclipse,导入SAPUI5插件,建立sapui5工程。

     

    1. Step1  Hello World!

     

    修改index.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>SAPUI5 Walkthrough</title>
    </head>
    <body>
        <div>Hello World</div>
    </body>
    </html>

    2. Step 2: Bootstrap

    在我们使用sapui5之前,需要载入以及初始化的操作,这个操作的过程就叫做bootstrapping。与通常所说的Bootstrap并不一样。

    修改index.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>SAPUI5 Walkthrough</title>
        <script
            id="sap-ui-bootstrap"
            src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
            data-sap-ui-theme="sap_belize"
            data-sap-ui-libs="sap.m"
            data-sap-ui-compatVersion="edge"
            data-sap-ui-async="true"
            data-sap-ui-onInit="module:sap/ui/demo/walkthrough/index"
            data-sap-ui-resourceroots='{
                "sap.ui.demo.walkthrough": "./"
            }'>
    
        </script>
    </head>
    <body>
    <div>Hello World</div>
    
    </body>
    </html>
    項目指定するもの
    id 固定値 "sap-ui-bootstrap"
    src SAPUI5 coreライブラリが格納されている場所,在生产环境中,要正确指定sapui5的版本,否则会出现不兼容的情况。
    data-sap-ui-theme UIのテーマ
    data-sap-ui-libs ページで使用するUIのライブラリ
    data-sap-ui-compatVersion "edge"を指定すると、SAPUI5の最新機能が使える(任意指定)
    data-sap-ui-preload ライブラリを同期で読み込むか(sync)、非同期で読み込むか(async)を指定する。パフォーマンス向上のためasyncを指定することが推奨されている
    data-sap-ui-onInit 定义一个"model"避免在html中直接执行js代码,sap/ui/demo/walkthrough/是在data-sap-ui-resourceroots中定义的资源路径
    data-sap-ui-resourceroots 通知SAPUI5, sap.ui.demo.walkthrough命名空间中的资源与index.html位于同一个文件夹。对于在FLD(Fiori launchpad)中运行的程序是必须的。

    创建index.js

    sap.ui.define([
    
    ], function () {
        "use strict";
    
    
        alert("UI5 is ready");
    });

     

    3. Step 3: Controls

    修改index.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>SAPUI5 Walkthrough</title>
        <script
            id="sap-ui-bootstrap"
            src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
            data-sap-ui-theme="sap_belize"
            data-sap-ui-libs="sap.m"
            data-sap-ui-compatVersion="edge"
            data-sap-ui-async="true"
            data-sap-ui-onInit="module:sap/ui/demo/walkthrough/index"
            data-sap-ui-resourceroots='{
                "sap.ui.demo.walkthrough": "./"
            }'>
        </script>
    </head>
    <body class="sapUiBody" id="content">
    </body>
    
    </html>

    修改index.js

    sap.ui.define([
        "sap/m/Text"
    
    ], function (Text) {
        "use strict";
    
        new Text({
            text: "Hello World"
        }).placeAt("content");
    
    });

    使用控件Text,控件的名称以其控件库的命名空间作为前缀,并将其作为js对象对象传递给构造方法。

    使用控件Text的placeAt方法,该方法用于将SAPUI5控件放在文档对象模型(DOM)或任何其他SAPUI5控件的节点中。

    4. Step 4: XML Views

    SAPUI5支持多种视图类型(XML、HTML、JavaScript)。

    新建App.view.xml文件

    <mvc:View
       xmlns="sap.m"
       xmlns:mvc="sap.ui.core.mvc">
       <Text text="Hello World"/>
    </mvc:View>

    引用sap.m,这里包含大部分的UI控件,比如这里使用的Text控件。

    引用sap.ui.core.mvc,并起别名mvc,这里包含了Views以及其他的MVC资产。

    修改index.js

    sap.ui.define([
        "sap/ui/core/mvc/XMLView"
    ], function (XMLView) {
        "use strict";
    
        XMLView.create({
            viewName: "sap.ui.demo.walkthrough.view.App"
        }).then(function (oView) {
            oView.placeAt("content");
        });
    
    });

    视图是由SAPUI5的工厂函数创建的,该函数确保视图被正确配置,并且可以被客户扩展。视图的名称前加上对应的命名空间以便唯一的标示该资源。

     

    5. Step 5: Controllers

    修改App.view.xml

    <mvc:View
       controllerName="sap.ui.demo.walkthrough.controller.App"
       xmlns="sap.m"
       xmlns:mvc="sap.ui.core.mvc">
       <Button
          text="Say Hello"
          press=".onShowHello"/>
    </mvc:View>

    cotrollerName属性,可以指定连接到view的controller。如果view只显示信息,那么我们可以不用为它指定controller,如果指定了controller,则在加载view之后实例化controller。

    新建App.controller.js

    sap.ui.define([
       "sap/ui/core/mvc/Controller"
    ], function (Controller) {
       "use strict";
       return Controller.extend("sap.ui.demo.walkthrough.controller.App", {
          onShowHello : function () {
             // show a native JavaScript alert
             alert("Hello World");
          }
       });
    });

    通过扩展Controller,我们定义了一个App.controller,在这里实现了alert方法。

    controller与对应的view应该是一个名字,如果存在controller的话,它们应该是1:1的关系。

     

  • 相关阅读:
    浅议tomcat与classloader
    业务系统的JVM启动参数推荐
    Nginx负载趟过的坑
    linux 建立反向shell
    rpm -e 包名 卸载安装的二进制包
    源码安装natcat
    取消密码登录
    ssh-copy-id 安全地复制公钥到远程服务器上
    iptables允许一个ip访问本机的某个端口
    zookeeper 安装 配置集群
  • 原文地址:https://www.cnblogs.com/suoluo119/p/11474067.html
Copyright © 2011-2022 走看看