Skip to content

依赖注入

Vona 通过@Use装饰器函数注入 Bean 实例

解析规则

Vona 采用模块化体系,Bean Class 都由不同的模块提供。注入模块内部的 Bean 时可以直接基于Class类型解析。在跨模块注入时可以基于Bean标识解析,而不是基于Class类型/文件路径解析,这样有利于实现模块之间的松耦合

依赖注入:基于Class类型

假设我们要在模块 home-index 的 ControllerHome 中注入模块 home-base 提供的 ServiceMenu,代码如下:

typescript
import { ServiceMenu } from 'vona-module-a-menu';
export class ControllerHome {
  @Use()
  $$menu: ServiceMenu;
}

依赖注入:基于Bean标识

typescript
import type { ServiceMenu } from 'vona-module-a-menu';
export class ControllerHome {
  @Use('home-base.service.menu')
  $$menu: ServiceMenu;
}

基于 MIT 许可发布