SAP Commerce Cloud Spartacus UI footer 区域的设计模型

简介: SAP Commerce Cloud Spartacus UI footer 区域的设计模型

本文研究如下图高亮所示的 SAP 电商云 Footer 区域的设计明细。

42.png

对应的 HTML markdup 入口:cx-footer-navigation:

43.png

cx-footer-navigation 只包含了一个单独的节点:cx-navigation-ui

44.png

第二行的 node$ 是具体的数据源。

45.png

footer slot 包含两个 Components:FooterNavigationComponent

46.png

对应的 Angular Component 实现名称:FooterNavigationComponent,其 selector 正是 cx-footer-navigation

47.png

这个 Component,使用了另一个 Angular Component:cx-navigation-ui,即 NavigationUIComponent

image.pngNavigationUIComponent 里又使用了 cx-generic-link.

这个 NavigationUIComponent 不仅被 footer 使用,在 my account 菜单也被使用。

48.png

数据源来自 node

49.png

三个 nav node:

50.png

node.children 展开的结果:

51.png

注意第 12 行 let 的用法。

简写形式:

<div *ngFor="let hero of heroes; let i=index; let odd=odd; trackBy: trackById" [class.odd]="odd">
  ({{i}}) {{hero.name}}
</div>

完整形式:

<ng-template ngFor let-hero [ngForOf]="heroes" let-i="index" let-odd="odd" [ngForTrackBy]="trackById">
  <div [class.odd]="odd">({{i}}) {{hero.name}}</div>
</ng-template>

在这里,与 ngFor 结构指令相关的所有内容都适用于 。 元素上的所有其他绑定和属性都适用于  中的

元素。 宿主元素上的其他修饰符,除了 ngFor 字符串,在元素在  内移动时保持不变。 在此示例中,[class.odd]=“odd” 保留在\

上。



let 关键字声明了一个模板输入变量,您可以在模板中引用该变量。 此示例中的输入变量是 hero、i 和奇数。 解析器将 let hero、let i 和 letodd 转换为名为 let-hero、let-i 和 let-odd 的变量。 let-i 和 let-odd 变量变为 let i=index 和 let odd=odd。 Angular 将 i 和 odd 设置为上下文index 和 odd 属性的当前值。


nav 节点下有两层 cx-generic-link

52.png

NgForOf 提供了下列默认的 exported values

53.png

54.png

以递归方式渲染而成:

image.png

cx-footer-navigation 下面有三个 nav 节点。

谁调用(消费)的这个 selector?

没有更外层的 HTML wrapper 了:

55.png

说明是 CMS 驱动。

footer navigation 打印出的 data:

56.png

footer area 打印出的数据:

62.png

2,2,4 的 length 正好和 footer 的实际内容吻合:

image.png

footer navigation Component 包含 footer content slot:

63.png

navigation nodes:Footer Pages

64.png

三个子节点,充分体现了 CMS 驱动的设计原则:

65.png

66.png

Twitter Link 是一个 Component,类型为 CMSLinkComponent:

67.png

对应的 Angular Component 名称为:LinkComponent

68.png

69.png

cx-link 也是 generic link 的消费者之一:

image.png

70.png

Twitter link 是一个 Component?

71.png

ID: FooterNavigationComponent

72.png

73.png

navigation node:Footer Pages

74.png








目录
相关文章
|
4月前
|
机器学习/深度学习 算法 定位技术
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
本项目基于YOLOv8模型与C#界面,结合Baumer工业相机,实现裂缝的高效检测识别。支持图像、视频及摄像头输入,具备高精度与实时性,适用于桥梁、路面、隧道等多种工业场景。
527 27
|
10月前
|
人工智能 编解码 自然语言处理
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
Aria-UI 是香港大学与 Rhymes AI 联合开发的多模态模型,专为 GUI 智能交互设计,支持高分辨率图像处理,适用于自动化测试、用户交互辅助等场景。
423 11
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
|
9月前
|
人工智能 自然语言处理 前端开发
Flame:开源AI设计图转代码模型!生成React组件,精准还原UI+动态交互效果
Flame 是一款开源的多模态 AI 模型,能够将 UI 设计图转换为高质量的现代前端代码,支持 React 等主流框架,具备动态交互、组件化开发等功能,显著提升前端开发效率。
1361 1
|
Dart Serverless Android开发
Flutter 单线程模型保证UI运行流畅
Flutter 单线程模型保证UI运行流畅
338 0
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型应用开发】3.2 RAG实战 - RAG应用+UI实现加载本地文件并对话
【AI大模型应用开发】3.2 RAG实战 - RAG应用+UI实现加载本地文件并对话
542 0
|
机器学习/深度学习 编解码 人工智能
加上Web UI,文本-图像模型Stable Diffusion变身绘图工具,生成艺术大片
加上Web UI,文本-图像模型Stable Diffusion变身绘图工具,生成艺术大片
373 0
|
机器学习/深度学习 人工智能 自然语言处理
两位谷歌华人研究员发布首个纯视觉「移动UI理解」模型,四大任务刷新SOTA
两位谷歌华人研究员发布首个纯视觉「移动UI理解」模型,四大任务刷新SOTA
246 0
|
开发者
|
XML JSON 自然语言处理
SAP UI5 初学者教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter) 试读版
SAP UI5 初学者教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter) 试读版
332 0
SAP UI5 初学者教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter) 试读版

热门文章

最新文章