每一个 Malagu 组件都可以定义自己的属性,可以在组件项目根目录下的 malagu.yml 文件中定义,也可以定义不同模式的组件属性,如:malagu-[mode].yml。目前提供两种方式获取组件属性:ConfigProvider 和 @Value,推荐使用后者,更为简洁。

ConfigProvider

ConfigProvider 是一个接口,定义了组件属性获取方式,前端应用不能获取后端的组件属性,后端应用也不能获取前端的组件属性。定义如下:

  1. export interface ConfigProvider {
  2. get<T>(key: string, defaultValue?: T): T; // key 支持 el 表达式
  3. }

使用方式:

  1. @Component()
  2. export class A {
  3. @Autowired(ConfigProvider)
  4. protected readonly configProvider: ConfigProvider;
  5. }

@Value

  1. @Component()
  2. export class A {
  3. @Value('foo')
  4. protected readonly foo: string;
  5. }

有关更详细的介绍,请参考文档:@Value