SAPUI5学习第三天-----(03)XML View和Controller当然是一起的咯

先上XML View

官网代码

将我们所有的UI放入index.html文件很快就会导致混乱的设置。因此,让我们通过将sap.m.Text控件放入专用视图来实现第一个模块化。

SAPUI5支持多种视图类型(XML、HTML、JavaScript)。我们选择XML,因为这会产生最易读的代码,并迫使我们将视图声明与控制器逻辑分离。

webapp/view/App.view.xml(新建)

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

我们在app中创建一个新的视图文件夹,并在app文件夹中为XML视图创建一个新文件。
这里,我们引用了默认名称空间sap.m,我们的大多数UI资源都位于这里。
我们定义了一个附加的带有别名mvc的sap.ui.core.mvc命名空间,SAPUI5视图和所有其他Model-View-Controller (MVC)资源都位于其中。

命名空间标识项目的所有资源,并且必须是唯一的。如果您开发自己的应用程序代码或控件,则不能使用名称空间前缀sap,因为这个命名空间是为sap资源预留的。相反,只需定义您自己的唯一命名空间(例如,myCompany.myApp)。

在view标签内部,我们添加了文本控件的声明性定义,其属性与上一步中相同。XML标签被映射到控件,属性被映射到控件的属性。
在这里插入图片描述

webapp/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");
	});

});

我们用新的App XML view代替了sap.m.Text控件的实例化。view是由SAPUI5的工厂功能创建的,它确保view被正确配置,并且可以被客户扩展。该名称以命名空间sap.ui.demo.walkthrough.view作为前缀,以便唯一地标识该资源。

约定:
视图名称大写
所有视图都存储在视图文件夹中
XML视图的名称总是以*.view.xml结尾
默认的XML命名空间是sap.m
其他XML命名空间使用SAP名称空间的最后一部分作为别名(例如,SAP .ui.core.mvc的mvc)

在这里插入图片描述
webapp/index.html同上一步

ui5.yaml(新建)

specVersion: '0.1'
metadata:
  name: WalkthroughTutorial
type: application

或者

115,112,101,99,86,101,114,115,105,111,110,58,32,39,48,46,49,39,10,109,101,116,97,100,97,116,97,58,10,32,32,110,97,109,101,58,32,87,97,108,107,116,104,114,111,117,103,104,84,117,116,111,114,105,97,108,10,116,121,112,101,58,32,97,112,112,108,105,99,97,116,105,111,110,10

package.json(新建)

{
  "name": "WalkthroughTutorial",
  "private": true,
  "version": "1.0.0",
  "author": "SAP SE",
  "description": "UI5 Demo App - Walkthrough Tutorial",
  "dependencies": {
    "@openui5/sap.m": "^1",
    "@openui5/sap.ui.core": "^1",
    "@openui5/themelib_sap_fiori_3": "^1"
  }
}

结果:
在这里插入图片描述
在这里插入图片描述

Controller它来了!

官网代码

在这一步中,我们将文本替换为一个按钮,并在按钮被按下时显示“Hello World”消息。按钮按下事件的处理是在视图的控制器中实现的。

webapp/view/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>

我们添加了对控制器的引用,并将文本控件替换为一个带有文本“Say Hello”的按钮。按钮被按下时触发. onshowhello事件处理函数。我们还必须指定连接到视图的控制器的名称,并通过设置视图的controllerName属性来保存. onshowhello函数。

视图并不一定需要显式分配的控制器。如果视图只是显示信息,而不需要其他功能,则不必创建控制器。如果指定了控制器,它将在视图加载后实例化。

webapp/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");
      }
   });
});

我们创建了webapp/controller文件夹,并在其中创建了一个新文件App.controller.js。现在,我们将忽略管理所需模块的代码。我们将在下一步解释这部分。

“use strict”;文字表达式是由ECMAScript 5引入的。它告诉浏览器以所谓的“strict mode”执行代码。严格模式有助于在开发阶段的早期状态检测潜在的编码问题,这意味着,例如,它确保在使用变量之前声明变量。因此,它有助于防止常见的JavaScript陷阱,因此使用严格模式是一个很好的做法。

通过继承SAPUI5核心的controller对象,我们在它自己的文件中定义了应用程序控制器。一开始,它只保存一个名为onShowHello的函数,该函数通过显示警报来处理按钮的按下事件。

约定:
控制器名称大写
控制器具有与相关视图相同的名称(如果有1:1的关系)
事件处理程序的前缀是on
控制器名称总是以*.controller.js结尾

在这里插入图片描述
结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值