博客
关于我
Salesforce学习之路(十)Aura组件工作原理
阅读量:463 次
发布时间:2019-03-06

本文共 1327 字,大约阅读时间需要 4 分钟。

Lightning Component框架是一个高效的UI框架,专为开发移动和台式设备的Web应用程序设计。作为Lightning Platform的单页面Web应用框架,它结合了客户端的JavaScript和服务器端的Apex语言,能够构建响应式、动态的用户界面。通过Lightning Component,开发者无需手动编写所有代码,即可创建自定义应用程序。

Lightning Component框架的核心架构包括View和Controller两大部分。View主要采用XML标记结合Aura组件的静态HTML标签进行定义,例如<aura:component>标签。熟悉Visualforce开发者会对此非常熟悉,命名格式遵循namespace:tagName。Aura组件提供了丰富的预定义组件,极大地降低了开发和学习成本,开发者可以直接使用这些组件进行定制化。

在客户端,View负责展示数据,Controller则通过JavaScript与服务端进行数据交互,获取所需数据并传递给View。服务端部分主要包含Controller和Database,Controller采用Apex语言(类似于Java)进行开发,数据库则通过DML操作进行数据管理。Apex类文件以.cls为后缀,客户端View文件通过类名称进行绑定。

Aura组件是基于Lightning Component框架的二次开发,其主要特点是通过组件捆绑包实现功能扩展。组件的命名规则要求组件名称以字母开头,仅包含字母、数字和下划线字符,且在命名空间中唯一。避免使用空格、下划线结尾以及连续下划线。

创建一个新的Aura组件捆绑包时,工程会自动生成多个资源文件,包括.auradoc(组件文档)、.cmp(组件标记文件)、.css(CSS样式文件)、.design(设计文件)、.controller.js(客户端控制器文件)、.helper.js(辅助函数文件)、.renderer.js(渲染器文件)、.svg(图标文件)和.controller.cls(服务端控制器文件)。这些资源文件严格遵循命名规则,并自动绑定连接,例如<aura:component controller="TestAuraController">会自动连接TestAuraController.cls类。

组件的工作原理非常清晰。组件的核心是.cmp文件,该文件定义组件的视图,其他文件如.controller.js.helper.js则负责与服务端数据进行交互。.controller.js与View交互获取数据,.helper.js与服务器Controller交互获取数据库数据,两者共同完成组件的功能开发。通过合理配置组件的访问控制,可以严格控制组件、属性、接口、事件和方法的访问权限,确保组件的安全性和可维护性。

在组件开发过程中,CSS样式和标记文件的设计至关重要。组件的顶级元素必须添加.THIS类,防止CSS样式被其他组件的样式覆盖。例如,.THIS .white类可以为特定元素定义白色背景样式,而未加类的顶级元素则使用默认的.THIS样式。这种方式确保了组件的样式唯一性和一致性。

转载地址:http://ecbbz.baihongyu.com/

你可能感兴趣的文章
NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
查看>>
nodejs支持ssi实现include shtml页面
查看>>
Nodejs教程09:实现一个带接口请求的简单服务器
查看>>
nodejs服务端实现post请求
查看>>
nodejs框架,原理,组件,核心,跟npm和vue的关系
查看>>
Nodejs概览: 思维导图、核心技术、应用场景
查看>>
nodejs模块——fs模块
查看>>
Nodejs模块、自定义模块、CommonJs的概念和使用
查看>>
nodejs生成多层目录和生成文件的通用方法
查看>>
nodejs端口被占用原因及解决方案
查看>>
Nodejs简介以及Windows上安装Nodejs
查看>>
nodejs系列之express
查看>>
nodejs系列之Koa2
查看>>
Nodejs连接mysql
查看>>
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>