智能开发平台-组件开发

简介: JOKER平台支持在线组件开发,无需编译即可实时渲染。组件包含状态数据、生命周期、方法逻辑、事件处理与布局设计,通过可视化拖拽与响应式机制,提升开发效率与复用性。

组件开发

在前端项目开发中,组件开发占据着举足轻重的地位。通过组件封装,能够将公共业务或 UI 交互进行统一整合,有效避免重复开发,极大地提高开发效率。

JOKER 开发平台展现出卓越的优势,它支持在线进行组件开发,且开发完成的组件无需经过编译,即可在平台内直接引用并渲染。这得益于 JOKER 开发平台自主研发的渲染与沙箱机制,实现了框架层面的高度灵活性。

一个完整的组件主要由以下几大功能点构成:

  • 状态数据:此部分用于维护组件的数据,涵盖传入参数、响应式数据以及内部私有变量。传入参数让组件可接收外部传递的数据,提升组件的通用性;响应式数据能实时响应数据变化,确保组件界面及时更新;内部私有变量用于组件内部逻辑处理,保障数据的安全性与独立性。
  • 生命周期:组件从创建到销毁的过程中,会提供不同阶段的钩子函数。开发者可借助这些钩子函数,在组件生命周期的各个阶段执行特定的业务逻辑。比如,在组件创建时进行数据初始化,在销毁时清理相关资源,以此确保组件正常运行和资源合理管理。组件生命周期
  • 方法逻辑:开发者可在此创建公开或私有方法。公开方法可供外部调用,便于其他组件或模块与该组件交互,实现功能的复用与扩展;私有方法用于组件内部逻辑处理,保证组件内部逻辑的封装性与独立性。
  • 事件处理:事件主要分为组件/元素事件和组件内部事件两种类型。组件/元素事件用于响应用户对组件或元素的操作,如点击、鼠标移动等;组件内部事件用于组件内部各部分之间的通信与交互,确保组件内部逻辑的连贯性与协同性。
  • 组件布局:开发者能够通过可视化拖拽的方式管理组件布局,同时可配置组件的属性、区块以及事件。此外,平台提供的大纲树功能,能以更直观的方式帮助开发者查看和管理组件结构,让组件布局的设计与调整更加便捷高效。

若您希望深入了解组件开发的底层细节,可查阅核心框架文档。

状态数据

component.png

当打开一个组件页面文件时,工作台左侧菜单中会显示组件数据菜单,点击后即可打开组件数据面板。

从数据使用的角度出发,可将其分为以下几类:

  • 传入参数(props):这是当前组件所需要的参数。这些参数具有响应式特点,一旦外部使用者传递的参数发生变化,会立即通知并更新组件内部的 DOM 节点。这意味着,组件能够实时响应外部传入数据的变动,从而动态调整自身的显示与行为,大大增强了组件的灵活性与复用性。例如,一个按钮组件可能通过 props 接收按钮的文本内容、颜色等参数,当外部传入的文本或颜色改变时,按钮能立刻呈现相应的变化。

  • 响应数据(model):这是组件内部的响应数据。在组件装载开始前,该属性会被“劫持”,进而具备数据响应能力。也就是说,当这个内部数据发生改变时,与之相关联的组件部分会自动更新。比如在一个购物车组件中,商品数量作为响应数据,当数量改变时,购物车的总价显示、商品列表的渲染等相关部分会自动更新,为用户提供实时反馈。

  • 内部私有属性:这类属性既不支持外部调用,也不具备响应式能力,仅作为组件内部临时使用的变量。在这里,你可以声明内部动态数据变量,方便在多个方法中使用。例如,在一个复杂的表单组件中,可能需要一个临时变量来记录表单填写的步骤状态,这个变量只在组件内部的方法中使用,无需对外暴露,也不需要对其变化做出响应式更新。

    生命周期

    我们可以在组件数据面板中的逻辑/事件 - 生命周期中来管理我们的组件生命周期。当我们生命周期右侧的加号按钮后,可以添加生命周期函数。添加后,我们即可在这里维护我们的生命周期逻辑了。(逻辑编排帮助文档可以在这里中查看。)
    component2.png

一个组件或者页面,从创建到销毁是由完整的一套生命周期函数的,我们可以通过这些函数来实现在不同节点中的业务处理。组件生命周期

方法逻辑

我们能够在组件数据面板的逻辑/事件 - 组件方法区域对组件方法进行管理。
component3.png

在创建方法时,可依据具体使用场景决定该方法是否对外开放:

  • 私有方法:仅供组件内部使用,主要用于处理组件内部的业务逻辑。它就像组件内部的“秘密武器”,专注于完成组件内部特定的任务,不会对外暴露接口,保证了组件内部逻辑的封装性和独立性。
  • 公共方法:既可以在组件内部使用,也能对外提供调用能力。这使得组件之间能够进行有效的交互和协作,增强了组件的复用性和扩展性。

当我们将某个方法设置为对外公开后,可以通过ref的方式调用该方法。这里仅作简单演示,若想了解详细内容,可查看组件方法组件布局
component5.png

值得一提的是,平台会自动分析公开方法的参数类型和返回类型,并提供可视化的方法调用界面,极大地提升了开发的便捷性,让开发者能够更轻松地使用和管理组件方法。

事件处理

我们可以在组件数据面板的逻辑/事件 - 对外事件/内部事件区域对组件事件进行管理,同时,这里也是查看组件事件相关信息的重要入口。
component6.png

在此区域,我们能够查看当前组件关于事件的所有信息,这些事件主要分为两类:

  • 对外事件:这是当前组件对外提供的事件处理机制。需要注意的是,该功能仅在组件文件中存在,页面文件不会对外触发此类事件。对外事件使得组件可以与外部进行有效的交互,当组件内部发生特定情况时,能够向外部发送信号,通知其他部分做出相应的响应。例如,一个自定义的下拉菜单组件,当用户选择了某个菜单项时,可以通过对外事件通知父组件进行数据更新等操作。
  • 内部事件:主要是对当前组件内的模板节点进行监听的事件处理。比如,一个按钮的点击事件就属于内部事件。通过监听这些内部事件,我们可以在组件内部实现各种交互逻辑,当用户与组件内的元素进行交互时,触发相应的处理函数,完成特定的任务,如显示提示信息、修改组件状态等。

若想了解关于组件事件的详细内容,可查看组件事件

组件布局

组件布局是组件/页面开发中最为重要的环节之一,我们可以通过工作画布实现对组件/页面的布局编排,实现组件的展现开发。

在前端编辑器中,界面分为左右两个区域,即 开发画布区属性区
front-end2.png

  1. 开发画布区:在此区域,我们能够将 组件 拖入工作画布,完成组件的添加操作。同时,若已添加组件,选中它后可对其属性进行修改,或者执行删除该组件等操作。
  2. 属性区:当未选中任何组件时,默认展示的是组件属性面板。在此,我们既可以更改组件的样式文件,也能够通过 HTML 快速导入节点。而当选中组件时,属性区会呈现该组件的专属属性面板,此面板包含 属性事件区域 这三个类型的属性配置。

    如何添加组件

平台允许我们通过拖拽的方式添加组件。

  • 组件中心:我们可以在组件中心中通过拖拽的方式实现对组件的引用。

  • 资源管理器:我们可以在资源管理中,通过推拽组件类型的文件实现对项目内组件文件的引用。

  • 布局快速添加:当我们选中一个组件时,我们可以在组件点击快速添加打开快速添加组件面板,实现对组件的快速引用。

如何配置组件

我们可以在画布中通过点击的方式来选择某个组件,选中组件后,我们可以在画布左侧面板中查看当前组件的配置信息,并在这里修改组件的参数,包括:组件参数、组件事件、组件区块。
component9.png

组件样式

平台赋予了用户对单个组件进行样式编写的能力。用户可运用嵌套 CSS 语法完成组件样式的编写,平台默认支持 scoped 样式隔离,有效避免样式冲突。同时,也提供 deep() 样式穿透功能,满足特定场景下样式覆盖的需求。

当我们在画布中未选中任何组件时(可在画布下方的快捷操作面板中点击取消选中组件),画布左侧会显示当前组件的属性面板,在这里我们可以维护我们组件的样式:
component10.png

大纲树

平台具备整体布局大纲展示功能,您能够在组件数据面板的大纲树里查看布局结构。此外,该大纲树还提供了丰富的快捷布局操作,助您更高效地完成布局调整。
component11.png

详细的组件布局,请参考组件布局

相关文章
|
2天前
|
弹性计算 人工智能 安全
云上十五年——「弹性计算十五周年」系列客户故事(第二期)
阿里云弹性计算十五年深耕,以第九代ECS g9i实例引领算力革新。携手海尔三翼鸟、小鹏汽车、微帧科技等企业,实现性能跃升与成本优化,赋能AI、物联网、智能驾驶等前沿场景,共绘云端增长新图景。
|
8天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
7天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
7天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
|
8天前
|
编解码 自然语言处理 文字识别
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
凌晨,Qwen3-VL系列再添新成员——Dense架构的Qwen3-VL-8B、Qwen3-VL-4B 模型,本地部署友好,并完整保留了Qwen3-VL的全部表现,评测指标表现优秀。
633 7
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
|
10天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
755 2