SAP OPEN UI5 Step5 Controllers
阿新 • • 發佈:2021-06-21
轉載請聯絡vx:xiaoshitou5854
Controllers
用Controller控制按鈕的點選事件
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>
controllerName:指明這個view要使用的controller。view並不是一定要使用Controller,如果使用了,就要先在這裡定義,當此view被載入完後,此view的Controller緊接著被載入。
sap.ui.demo.walkthrough.controller.App:指明的具體檔案是webapp/controller/App.controller.js
webapp/controller/App.controller.js (New)
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"); } }); });
在App.view.xml定義的Button,沒有按鈕點選後呼叫的具體js程式碼,具體程式碼寫在了webapp/controller/App.controller.js裡,要返回一個Controller(return Controller),在Controller裡擴充套件了sap.ui.demo.walkthrough.controller.App,也就是增加了Button點選後呼叫的js程式碼。
onShowHello就是view檔案的Button裡定義的press屬性的值。
index.js,index.html都沒有變化,還是用view替換id為content的DOM。也就是body,現在view定義的Button,而不是Text,所以顯示的就是Button了。
sap.ui.define([
"sap/ui/core/mvc/XMLView"
], function (XMLView) {
"use strict";
XMLView.create({
viewName: "sap.ui.demo.walkthrough1.view.App1"
}).then(function (oView) {
oView.placeAt("content");
});
});
定義view和Controller檔名的習俗:
*.view.xml
*.controller.js
本人微信:xiaoshitou5854