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">
<aura:component implements="c:myInterface">

Apex控制类 <aura:component controller="ExpenseController">
属性的类型为自定义对象 <aura:attribute name="expense" type="Expense__c" /> 
属性的类型为自定义对象,并且设置默认值
<aura:attribute name="newExpense" type="Expense__c"
default="{ 'sobjectType': 'Expense__c',
'Name': '',
'Amount__c': 0,

}" />
表达式中含有自定义对象的字段 <ui:inputNumber value="{!v.newExpense.Amount__c}" label=… />
javascript函数中含有自定义对象字段
updateTotal: function(component) {

for(var i = 0 ; i < expenses.length ; i++){
var exp = expenses[i];
total += exp.Amount__c;
}

}
在Javascript函数中动态创建新的组件
var myCmp = $A.createComponent("c:myComponent", {},
function(myCmp) { }
);
在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">
<aura:component implements="yournamespace:myInterface">

Apex控制类 <aura:component controller="yournamespace.ExpenseController">
属性的类型为自定义对象 <aura:attribute name="expenses" type="yournamespace__Expense__c[]" />
属性的类型为自定义对象,并且设置默认值
<aura:attribute name="newExpense" type="yournamespace__Expense__c"
default="{ 'sobjectType': 'yournamespace__Expense__c',
'Name': '',
'yournamespace__Amount__c': 0,

}" />
表达式中含有自定义对象的字段 <ui:inputNumber value="{!v.newExpense.yournamespace__Amount__c}" label=… />
javascript函数中含有自定义对象字段
updateTotal: function(component) {

for(var i = 0 ; i < expenses.length ; i++){
var exp = expenses[i];
total += exp.yournamespace__Amount__c;
}

}
在Javascript函数中动态创建新的组件
var myCmp = $A.createComponent("yournamespace:myComponent",
{},
function(myCmp) { }
);
在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的命名空间的更多相关文章

  1. Salesforce学习之路(十三)Aura案例实战分析

    Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...

  2. Salesforce学习之路(十)Org的命名空间

    1. 命名空间的适用场景 每个组件都是命名空间的一部分,如果Org中设置了命名空间前缀,那么需使用该命名空间访问组件.否则,使用默认命名空间访问组件,系统默认的命名空间为“c”. 如果Org没有创建命 ...

  3. Salesforce学习之路-developer篇(五)Aura组件原理及常用属性

    很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...

  4. Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析

    1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...

  5. Salesforce学习之路(十)Aura组件工作原理

    很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...

  6. Salesforce学习之路-admin篇

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  7. Salesforce学习之路(三)利用VS Code结合Git开发Salesforce

    在前面说了一些有关Admin的知识,但实际开发运用中,仅凭Admin的配置很难满足项目的定制化需求,因此基于CRM的二次开发则应运而生. 由于国内资料相对较少,所以很多入门新手无处下手,那这里就简单介 ...

  8. Salesforce学习之路(一)几个简单概念

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  9. struts2学习笔记之九:struts2的命名空间

    struts2的命名空间适用于多人开发,根据不同模块命名不同的命名空间,方便开发和管理 struts2如果没有配置命名空间,默认命名空间为"/",Struts2中Action的完整 ...

随机推荐

  1. 自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐

    最近这段时间频频看到微信群里发什么 抢票加速,智行.携程.飞猪.美团,对于我这能坐客车就不坐火车的人来说,无所谓靠谱不靠谱 突发奇想的整理了下整个抢票加速的逻辑,写了这个小程序,代码很low,拒绝批评 ...

  2. deepin-terminal改造之路

    目录 1. 背景介绍 2. 下载源码 3. 依赖检查及安装 4. 改造之路 4.1 终端透明度快捷键 4.1.1 设置面板增加选项内容 4.1.2 添加配置解析内容 4.1.3 功能实现 4.1.4 ...

  3. 利用CORDIC算法计算三角函数

    这里主要先介绍如何利用CORDIC算法计算固定角度\(\phi\)的\(cos(\phi)\).\(sin(\phi)\)值.参考了这两篇文章[1].[2]. 一般利用MATLAB计算三角函数时,用\ ...

  4. 翻译:《实用的Python编程》03_04_Modules

    目录 | 上一节 (3.3 错误检查) | 下一节 (3.5 主模块) 3.4 模块 本节介绍模块的概念以及如何使用跨多个文件的函数. 模块和导入 任何一个 Python 源文件都是一个模块. # f ...

  5. 剑指 Offer 39. 数组中出现次数超过一半的数字 + 摩尔投票法

    剑指 Offer 39. 数组中出现次数超过一半的数字 Offer_39 题目描述 方法一:使用map存储数字出现的次数 public class Offer_39 { public int majo ...

  6. dubbo实战之三:使用Zookeeper注册中心

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. C#开发BIMFACE系列35 服务端API之模型对比6:获取模型构建对比分类树

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE平台提供了服务端"获取模型对比构件分类树"API.目录树返回结果以树状层级关系显示了增删改的构件信息,里面无法 ...

  8. Java面向对象(一些问题)

    2. Java 面向对象 2.1. 类和对象 2.1.1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量 ...

  9. python基础学习之函数进阶【匿名函数、作用域关系、闭包、递归】

    匿名函数 lambda的用法: lambda x:x+1 解释,同等于以下函数 def test(x): return x+1 因为没有函数名,所以称为匿名函数 只适用于简易的逻辑,复杂逻辑无法实现 ...

  10. python程序控制结构

    一:顺序结构 顺序结构的程序是指程序中的所有语句都是按照书写顺序逐一执行的,但是顺序结构的程序功能有限. 二:选择结构 选择结构也称为分支结构,用于处理在程序中出现两条或更多执行路径可供选择的情况.选 ...