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)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
 
随机推荐
- 白话系列之实现自己简单的mvc式webapi框架
			
前言:此文为极简mvc式的api框架,只当做入门api的解析方式,并且这里也不算是mvc框架,因为没有view层,毕竟现在大部分都属于前后端分离,当然也可以提供view层,因为只是将view当做文本返 ...
 - 渗透测试-基于白名单执行payload--Csc
			
复现亮神课程 基于白名单执行payload--csc 0x01 Csc.exe C#的在Windows平台下的编译器名称是Csc.exe,如果你的.NET FrameWork SDK安装在C盘,那么你 ...
 - 实验吧之【你真的会PHP吗?】
			
你真的会PHP吗? 首先刚进网页就是一个have fun 看了源码没有什么提示,也没有输入框,那就打开F12看看 有提示 6c525af4059b4fe7d8c33a.txt 访问 http://c ...
 - Ubuntu 重装vmtool
			
1. 虚拟机菜单 -> 更新虚拟机 : 2. 弹出的窗口中: 3. 拷贝红色的文件到可读写的目录: 4. 解压,运行解压出来的绿色脚本文件,一路回车:
 - web项目中登陆超时的功能实现(基于C#)
			
当我们登陆进网站后,中途去看别的东西,没有再与该网站的服务器交互,就会弹出一个js窗口,登陆超时请重新登陆,并跳转到登陆页面. 步骤1.实现原理,在web.config中配置session的超时时间, ...
 - PHP call_user_func的一些用法和注意点
			
版本:PHP 5.6.28 在call_user_func的调用中: 1.参数的传递过程,并不是引用传值. 1 error_reporting(E_ERROR); // 此处不是E_ALL 2 $cu ...
 - 小程序预览pdf文件
			
有个业务需求,需要在小程序查看客户已开的发票 发票地址: https://www.chinaeinv.com/p.jspa?cxxxxxxxxxxxx 刚开始是想利用webview当作外链进行跳转访问 ...
 - 【阿里云IoT+YF3300】7.物联网设备表达式运算
			
很多时候从设备采集的数据并不能直接使用,还需要进行处理一下.如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题. 一. 设备连接 运行环境搭建:Win7系统请下载相关的设备驱 ...
 - Echarts导出为pdf echarts导出图表(包含背景)
			
Echarts好像是只支持png和jpg的导出,不支持pdf导出.我就想着只能够将png在后台转为pdf了. 首先介绍一下jsp界面的代码. var thisChart = echarts.init( ...
 - Leetcode Tags(6)Math
			
一.204. Count Primes Count the number of prime numbers less than a non-negative number, n. Input: 10 ...