天天看點

優維低代碼:Route Alias 路由别名和Segues 頁面切換

優維低代碼:Route Alias 路由别名和Segues 頁面切換
優維低代碼:Route Alias 路由别名和Segues 頁面切換

優維低代碼技術專欄,是一個全新的、技術為主的專欄,由優維技術委員會成員執筆,基于優維7年低代碼技術研發及運維成果,主要介紹低代碼相關的技術原理及架構邏輯,目的是給廣大運維人提供一個技術交流與學習的平台。

連載第二十二期

《進階指引:Route Alias 路由别名和Segues 頁面切換》

Route Alias 路由别名

在路由定義中,可以通過 alias 字段聲明該路由的别名,該别名可以承擔路由 ID 的作用。可以通過它來簡化路由跳轉的編排。

# 示例

可以在構件事件中跳轉:

bricks:
  - brick: your.awesome-brick
    events:
      item.click
        action: "alias.push"
        args:
          - your-alias
          - id: ${EVENT.detail.itemId}      

也可以在構件屬性中使用求值占位符擷取别名對應的 URL:

bricks:
  - brick: your.another-brick
    properties:
      useBrick:
        brick: your.item-brick
        transform:
          url: "<% ALIAS.getUrl('your-alias', { id: DATA.itemId }) %>"      

Alias 别名在路由跳轉中和 Segues 很像,差別是不需要額外定義 segues。

在事件處理配置中,可以使用内置處理器 alias.push / alias.replace 實作頁面跳轉,更多資訊請參見 内建處理器:alias.*。

在求值占位符中,可以調用 ALIAS.getUrl(alias, pathParams, query) 得到目标頁面位址,該函數接收的參數清單和 alias.push 一緻,請參考 内建處理器:alias.*。

Segues 頁面切換

在 Storyboard 的路由定義中,可以通過 segues 字段聲明該路由下的頁面切換配置。Segues 配置可以用于組織視圖之間的通路關系,在 next-builder 中可以在 Routes Graph 頁面顯示該關系。

# 示例

優維低代碼:Route Alias 路由别名和Segues 頁面切換

如上圖:

  • 紅色方框内容為 Segues 的定義;
  • 黃色方框内容為 Segues 的使用方法一:事件;
  • 綠色線條内容為 Segues 的使用方法二:求值占位符。

segues 的定義是一個字典,鍵名為該 segue 的 ID,值為一個 target 設定為跳轉目标路由的 alias。上圖紅色方框内容表示:為路由 example-list 定義了一個 ID 為 go-to-detail 的 segue,該 segue 跳轉目标為 alias 等于 example-detail 的路由。

Segues 定義僅用于該路由頁面或其子路由頁面,是以 Segue ID 在該路由内保持唯一性就可以。而跳轉目标 target 指向的 alias 是對整個 Micro App 的,是以 alias 應保障在 Micro App 内唯一,否則 Segue 的跳轉目标将無法确定。