Salesforce学习之路(九)Org的命名空间
1. 命名空间的适用场景
每个组件都是命名空间的一部分,如果Org中设置了命名空间前缀,那么需使用该命名空间访问组件。否则,使用默认命名空间访问组件,系统默认的命名空间为“c”。
- 如果Org没有创建命名空间前缀,下述情况必须使用“c”命名空间前缀:
- 引用自定义创建的组件
- 引用自定义创建的事件
- 如果Org没有创建命名空间,下述情况下Org会自动使用隐式命名空间,即该场景下无需使用指定的命名空间前缀:
- 引用自定义对象
- 引用标准对象和自定义对象的字段
- 引用Apex的控制类
- 如果Org创建了命名空间前缀,下述情况下必须使用自定义的命名空间前缀:
- 引用自定义创建的组件
- 引用自定义创建的事件
- 引用自定义对象
- 引用标准对象和自定义对象的字段
- 引用Apex的控制类
- 引用静态资源
2 命名空间命名规则
命名规则必须满足以下条件:
- 以字母开头
- 包含1-15个字母数字字符
- 不包含两个下划线
例如: myNamespace123和my_namespace是有效的;123MyNamespce和my__namespace是无效的。
3 创建命名空间
Setup-->Packages(注意:该条目只在Salesforce Classic版本中才有)-->Developer Settings-->Edit

Check Avaliability校验名称是否满足规则。
4 命名空间使用示例
这里以Aura组件使用命名空间作为示范。
- Org没有设置命名空间前缀
| 引用项 | 示例 |
| 标记中使用组件 | <c:myComponent> |
| 系统属性中使用组件 |
<aura:component extends="c:myComponent"> |
| Apex控制类 | <aura:component controller="ExpenseController"> |
| 属性的类型为自定义对象 | <aura:attribute name="expense" type="Expense__c" /> |
| 属性的类型为自定义对象,并且设置默认值 |
<aura:attribute name="newExpense" type="Expense__c" |
| 表达式中含有自定义对象的字段 | <ui:inputNumber value="{!v.newExpense.Amount__c}" label=… /> |
| javascript函数中含有自定义对象字段 |
updateTotal: function(component) {
|
| 在Javascript函数中动态创建新的组件 |
var myCmp = $A.createComponent("c:myComponent", {},
|
| 在Javascript函数中的接口对比 | aCmp.isInstanceOf("c:myInterface") |
| 注册事件 | <aura:registerEvent type="c:updateExpenseItem" name=… /> |
| 事件处理 | <aura:handler event="c:updateExpenseItem" action=… /> |
| 显式依赖 | <aura:dependency resource="markup://c:myComponent" /> |
| Javascript函数中的应用事件 | var updateEvent = $A.get("e.c:updateExpenseItem"); |
| 静态资源 | <ltng:require scripts="{!$Resource.resourceName}" styles="{!$Resource.resourceName}" /> |
- Org设置了命名空间前缀
| 引用项 | 示例 |
| 标记中使用组件 | <yournamespace:myComponent /> |
| 系统属性中使用组件 |
<aura:component extends="yournamespace:myComponent"> |
| Apex控制类 | <aura:component controller="yournamespace.ExpenseController"> |
| 属性的类型为自定义对象 | <aura:attribute name="expenses" type="yournamespace__Expense__c[]" /> |
| 属性的类型为自定义对象,并且设置默认值 |
<aura:attribute name="newExpense" type="yournamespace__Expense__c" |
| 表达式中含有自定义对象的字段 | <ui:inputNumber value="{!v.newExpense.yournamespace__Amount__c}" label=… /> |
| javascript函数中含有自定义对象字段 |
updateTotal: function(component) {
|
| 在Javascript函数中动态创建新的组件 |
var myCmp = $A.createComponent("yournamespace:myComponent",
|
| 在Javascript函数中的接口对比 | aCmp.isInstanceOf("yournamespace:myInterface") |
| 注册事件 | <aura:registerEvent type="yournamespace:updateExpenseItem" name=… /> |
| 事件处理 | <aura:handler event="yournamespace:updateExpenseItem" action=… /> |
| 显式依赖 | <aura:dependency resource="markup://yournamespace:myComponent" /> |
| Javascript函数中的应用事件 | var updateEvent = $A.get("e.yournamespace:updateExpenseItem"); |
| 静态资源 | <ltng:require scripts="{!$Resource.yournamespace__resourceName}" styles="{!$Resource.yournamespace__resourceName}" /> |
作者:吴家二少
博客地址:https://www.cnblogs.com/wu-kai/
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
Salesforce学习之路(九)Org的命名空间的更多相关文章
- Salesforce学习之路(十三)Aura案例实战分析
Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...
- Salesforce学习之路(十)Org的命名空间
1. 命名空间的适用场景 每个组件都是命名空间的一部分,如果Org中设置了命名空间前缀,那么需使用该命名空间访问组件.否则,使用默认命名空间访问组件,系统默认的命名空间为“c”. 如果Org没有创建命 ...
- Salesforce学习之路-developer篇(五)Aura组件原理及常用属性
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析
1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...
- Salesforce学习之路(十)Aura组件工作原理
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- Salesforce学习之路-admin篇
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
- Salesforce学习之路(三)利用VS Code结合Git开发Salesforce
在前面说了一些有关Admin的知识,但实际开发运用中,仅凭Admin的配置很难满足项目的定制化需求,因此基于CRM的二次开发则应运而生. 由于国内资料相对较少,所以很多入门新手无处下手,那这里就简单介 ...
- Salesforce学习之路(一)几个简单概念
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
- struts2学习笔记之九:struts2的命名空间
struts2的命名空间适用于多人开发,根据不同模块命名不同的命名空间,方便开发和管理 struts2如果没有配置命名空间,默认命名空间为"/",Struts2中Action的完整 ...
随机推荐
- idea快捷键:查找类中所有方法的快捷键
查找类中所有方法的快捷键 第一种:ctal+f12,如下图 第二种:alt+7,如下图
- LayUI之弹出层
1.导入插件 layui使用需要导入layui的js和css: <link rel="stylesheet" href="layui/css/layui.css&q ...
- java 阿里云短信发送
记录自己的足迹,学习的路很长,一直在走着呢~ 第一步登录阿里云的控制台,找到此处: 点击之后就到此页面,如果发现账号有异常或者泄露什么,可以禁用或者删除 AccessKey: 此处方便测试,所以就新 ...
- Docker-compose编排微服务顺序启动
一.概述 docker-compose可以方便组合多个 docker 容器服务, 但是, 当容器服务之间存在依赖关系时, docker-compose 并不能保证服务的启动顺序.docker-comp ...
- springcloud alibaba-nacos配置中心
nacos除了充当注册中心外,还能作为配置中心,下面进行演示. 1. 创建 模块,用于读取 nacos配置中心的统一配置 2. 添加依赖 <dependencies> <!-- na ...
- MySQL基础知识:启动管理和账号管理
整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...
- Codeforces Round #546 C. Nastya Is Transposing Matrices
题面: 传送门 题目描述: 给出两个n x m的矩阵A,B.矩阵A可以把正方子矩阵进行"转置操作",问:可不可以对矩阵A进行多次这样的操作,使矩阵A变为矩阵B? 题目分析: 这 ...
- JS利用cookie记录当前位置实现刷新页面后还可以保持菜单栏的展开或闭合
代码如下,重点是JS部分的代码(部分样式引用的是Bootstrapt中的): <style> .sidebar-menu .special{ font-size: 16px; marg ...
- Dart简明教程
[前言]Dart语言是使用flutter框架开发时候必备的语言,flutter是一个跨平台的框架,一套代码就可以完美实现安卓和ios两个平台,适配也很不错,Dart语言很友好,和java很类似,学习成 ...
- android 调用js,js调用android
Java调用JavaScript 1.main.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <?xml v ...