Home Reference Source

Typedef

Static Public Summary
public
public
public

组件配置对象

public

DependencyConfig: * | Object

组件依赖配置对象,用于配置组件的依赖,若未配置$ref与$import,则本身作为依赖值,否则将根据$ref/$import的声明查找依赖。

public

ioc 容器配置

Static Public

public Advisor: Object source

Properties:

NameTypeAttributeDescription
matcher string | Function | RegExp

切点(连接点筛选)功能, 为 string, RegExp, Function 三个类型之一, 指定符合匹配条件的方法才应用特定的拦截/通知逻辑

advices Object

通知对象, 拥有 before, afterReturning, afterThrowing, after, around 中一个或多个方法;

详见:https://github.com/ecomfe/aop/blob/develop/README.md#切面aspectadvisor

before: 在函数/方法执行前调用指定逻辑

after: 在函数/方法执行后调用指定逻辑, 无论函数/方法是否执行成功

afterReturning: 在函数/方法执行成功后调用指定逻辑

afterThrowing: 在方法抛出异常后调用指定逻辑

around: 在函数/方法调用之前和调用之后执行自定义的指定逻辑

public AopConfig: Object source

Properties:

NameTypeAttributeDescription
advisors Advisor

切面配置数组,每个元素都是一个切面, 切面是通知和切点的结合, 通知和切点共同定义了切面的全部内容 - 是什么, 在何时和何处完成功能.

proxyTarget 'object' | 'class'
  • optional
  • default: 'object'

拦截目标,默认为 'object', 设置为 'object' 会基于对象实例进行拦截,设置为'class'则基于类拦截,两者区别见:https://github.com/ecomfe/uioc/issues/69

public ComponentConfig: Object source

组件配置对象

Properties:

NameTypeAttributeDescription
creator Function | string

创建组件的函数或模块名称

isFactory boolean
  • optional
  • default: false

是否为工厂函数,默认false,会通过 new 方式调用,true 时直接调用

scope 'transient' | 'singleton' | 'static'
  • optional
  • default: 'transient'

组件作用域,默认为 transient,每次获取组件,都会新建一个实例返回,若为 singleton,则会返回同一个实例,若为 static,则直接返回creator

args DependencyConfig[]

传递给组件构造函数的参数, 获取组件时,根据 args 的配置,自动创建其依赖,作为构造函数参数传入

properties Object<string, DependencyConfig>
  • optional

附加给组件实例的属性, 获取组件时,IoC 会根据 properties 的配置,自动创建其依赖, 作为属性注入组件实例。 note: 若组件实例存在 set + 属性名首字母大些的方法,则会调用此方法,并将依赖传入, 否则简单的调用 this.{propertyName} = {property}

aopConfig AopConfig
  • optional

aop 配置对象,内置aop机制会读取该配置进行相关的拦截。

public DependencyConfig: * | Object source

组件依赖配置对象,用于配置组件的依赖,若未配置$ref与$import,则本身作为依赖值,否则将根据$ref/$import的声明查找依赖。

Properties:

NameTypeAttributeDescription
$ref string

声明依赖的组件,获取组件时,会自动创建其声明的依赖组件并注入

$import string

导入指定组件的配置,将创建一个匿名组件配置,其余的配置将覆盖掉导入的配置

$list DependencyConfig[]

声明数组形式的依赖,获取组件时,会创建一个数组,数组元素根据其对应$list中所声明的配置进行创建

$map Object<string, DependencyConfig>

声明对象(映射表)形式的依赖,获取组件时,会创建一个对象, 对象的属性根据其对应$map中所声明的配置进行创建

public IoCConfig: Object source

ioc 容器配置

Properties:

NameTypeAttributeDescription
config.loader Function
  • optional
  • default: require

符合 AMD 规范的模块加载器,默认为全局的 require

config.components Object<string, ComponentConfig>
  • optional

批量组件配置, 其中每个key 为组件 id,值为构建配置对象。

config.plugins ILifeCircleHook[]
  • optional

ioc 插件

config.skipCheckingCircularDep boolean
  • optional
  • default: false

是否跳过循环依赖检测