以更少的样板代码从提供商那里获得全球价值

时间:2019-01-30 13:32:20

标签: angular typescript

如果我有一个具有getServerContextPath()getter(不是异步)的configurationService提供程序,是否可以在不初始化构造函数中服务的情况下获取值?

我当前的实现方式:

export class FilterCarDataService {
    private urlFilteredData: string;
    constructor(
        private readonly configurationService: ConfigurationService
    ) {
        this.urlFilteredData = `/${this.configurationService.getServerContextPath}/utilities/filterdata`;
    }
}

我不喜欢这种实现的东西

1)在每个文件中,我都需要服务器上下文路径,我必须在构造函数中初始化服务

2)我无法将urlFilteredData声明为readonly,因为我必须使用服务器上下文路径重新分配它。

是否有一个全局变量(服务器上下文路径)的实现,在我使用的每个文件中都不需要那么多的样板代码?

1 个答案:

答案 0 :(得分:2)

具有静态字段的类怎么样?

class Configuration {
    public static readonly ServerContextPath = 'abc';
}

和用法-Configuration.ServerContextPath