angularjs - 从模板初始化常量

angularjs - initialize constant from template

我想 'dynamically' 根据 $location 设置常量。

或者我会考虑使用 .运行()?某处有例子吗?

我知道我可以在控制器中添加 $location.host()。

我读到一个 post 说你不能使用注入 $location 因为它是一项服务 这是我的代码

var config_module = angular.module('myApp.config', []);

var config_data = {
    'GENERAL_CONFIG': {
        'APP_NAME': 'myApp',
        'EXPRESS_SERVER': $location.host() + ':3000'
    }
};

angular.forEach(config_data, function (key, value) {
    config_module.constant(value, key);
});

因为您在代码的这一点 angular 之外,所以您不能使用 $locations,但是,您可以使用本机 javascript 对象来获取您想要的内容,因此您的代码看起来像:

var config_data = {
    'GENERAL_CONFIG': {
        'APP_NAME': 'myApp',
        'EXPRESS_SERVER': window.location.hostname + ':3000'
    }
};