每一个 Malagu 组件都可以定义自己的属性,可以在组件项目根目录下的 malagu.yml 文件中定义,也可以定义不同模式的组件属性,如:malagu-[mode].yml。目前提供两种方式获取组件属性:ConfigProvider 和 @Value,推荐使用后者,更为简洁。
ConfigProvider
ConfigProvider 是一个接口,定义了组件属性获取方式,前端应用不能获取后端的组件属性,后端应用也不能获取前端的组件属性。定义如下:
export interface ConfigProvider {
get<T>(key: string, defaultValue?: T): T; // key 支持 el 表达式
}
使用方式:
@Component()
export class A {
@Autowired(ConfigProvider)
protected readonly configProvider: ConfigProvider;
}
@Value
@Component()
export class A {
@Value('foo')
protected readonly foo: string;
}
有关更详细的介绍,请参考文档:@Value。