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/cloudman-open/
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
Salesforce学习之路(十)Org的命名空间的更多相关文章
- Salesforce学习之路(十三)Aura案例实战分析
Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...
- Salesforce学习之路(十)Aura组件工作原理
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- Salesforce学习之路(九)Org的命名空间
1. 命名空间的适用场景 每个组件都是命名空间的一部分,如果Org中设置了命名空间前缀,那么需使用该命名空间访问组件.否则,使用默认命名空间访问组件,系统默认的命名空间为"c". ...
- Salesforce学习之路(十二)Aura组件表达式
1. 表达式语法 在上篇文章组件属性示例中,新建了一个属性whom, 引用该属性时使用了表达式:{!v.whom},负责该属性的动态输出. 语法:{!expression} 上述示例中,我们的属性名称 ...
- Salesforce学习之路-developer篇(五)Aura组件原理及常用属性
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析
1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...
- Salesforce学习之路-admin篇
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
- Salesforce学习之路(三)利用VS Code结合Git开发Salesforce
在前面说了一些有关Admin的知识,但实际开发运用中,仅凭Admin的配置很难满足项目的定制化需求,因此基于CRM的二次开发则应运而生. 由于国内资料相对较少,所以很多入门新手无处下手,那这里就简单介 ...
- Salesforce学习之路(一)几个简单概念
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
随机推荐
- luoguP1006 传纸条
题目描述 Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个 m" role="presentation& ...
- 基于Spring Boot的统一异常处理设计
基于Spring Boot的统一异常处理设计 作者: Grey 原文地址:https://www.cnblogs.com/greyzeng/p/11733327.html Spring Boot中,支 ...
- 在元素上写事件和addEventListent()的区别
在元素上写事件和addEventListent()的区别1. onclick添加事件不能绑定多个事件,后面绑定的会覆盖前面的.而addEventListener能添加多个事件绑定,按顺序执行.2. a ...
- rabbitmq学习-如何安装rabbitmq
学习当然还是需要看官网地址的哈 官网地址 你可能会说老铁,看不懂英文咋办?我只能说各大翻译软件以及广大网友总有一款是你喜欢的 广大网友翻译的 中文文档 什么是rabbitmq? rabbitmq (R ...
- Kafka 权威指南阅读笔记(第三章,第四章)
Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...
- 设计模式(十七)Observer模式
在Observer模式中,当观察对象的状态发生变化时,会通知给观察者.Observer模式适用于根据对象状态进行相应处理的场景. 首先看一下示例程序的视图. 然后用实际代码来理解这种设计模式. pac ...
- linux安装redis及外网访问
1.下载Redis,最新版是redis-3.2.1.tar.gz 2.上传到Linux上,解压到/usr/local/下面 ,命令:tar -zxvf redis-3.2.1.tar.gz 3.我们 ...
- Android自定义控件:图形报表的实现(折线图、曲线图、动态曲线图)(View与SurfaceView分别实现图表控件)
图形报表很常用,因为展示数据比较直观,常见的形式有很多,如:折线图.柱形图.饼图.雷达图.股票图.还有一些3D效果的图表等. Android中也有不少第三方图表库,但是很难兼容各种各样的需求. 如果第 ...
- mybatis代理机制讲解
问题描述 在使用Mybatis开发中,或者和Spring整合中,在Dao层中的Mapper接口与xml中的sql对应着,在service中直接调用Dao中的方法就可以直接访问sql.如下所示: /** ...
- MIT线性代数:20.克拉默法则,逆矩阵和体积