天天看點

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖

在 使用 yo 建立好的 SAP UI5 項目裡,使用指令行:

yo easy-ui5 project newview:

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
輸入新的視圖名稱為 Products,建立新的控制器,以及在 manifest.json 裡定義新的 route:
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
manifest.json routing 區域裡三個節點增添了新屬性:
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
target 區域增添了新的 id 和 name 同名的Products 視圖,實作類型為 XML:
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
把 pattern 裡字元串内容去掉,變成"":
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
webapp/view/Mainview.view.xml 是整個應用的外層容器。将 app 标簽頁裡的内容全部删除:
使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖
建立出來的 Products 頁面的内容為:

<mvc:View controllerName="tutorial.products.controller.Products" displayBlock="true"
  xmlns="sap.m"
  xmlns:mvc="sap.ui.core.mvc">
  <Page id="Products" title="Available Products">
    <content>
      <List items="{/Products}">
        <StandardListItem type="Active" title="{ProductName}" />
      </List>
    </content>
  </Page>
</mvc:View>      

使用 aggregation bindings,定義了一個 list.

使用指令行 yo easy-ui5 project newmodel 建立一個新模型:

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖

所有到 data source 的資料請求,都會被發送到這個 url:

/V2/Northwind/Northwind.svc/.

Modify the uimodule/webapp/xsapp.json file to redirect the traffic to a destination.

修改 xsapp.json, 将請求重新路由到 destination.

{
  "welcomeFile": "/flpSandbox.html",
  "routes": [
    {
      "source": "^/V2/(.*)$",
      "authenticationType": "none",
      "destination": "Northwind",
      "csrfProtection": false
    },
    {
      "source": "^(.*)",
      "target": "$1",
      "authenticationType": "xsuaa",
      "service": "html5-apps-repo-rt"
    }
  ]
}      

You already created a destination named Northwind in Cloud Foundry environment of SAP BTP. Now it’s time to add a mocked destination to your local setup as well.

在 uimodule 檔案夾下面的 ui5.yaml 檔案裡:

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖

定義一個本地 destination:

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖

使用 npm ui5 啟動工程。

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖

最後的效果:

使用 yo 指令行向導給 SAP UI5 應用添加一個新的視圖