javascript - 如何创建这个全局常量以便在 Angularjs 中的 Controller 之间共享?

标签 javascript angularjs angularjs-service

假设我想让这个变量成为在 Angularjs 中的 Controller 之间共享的常量;

$webroot = "localhost/webroot/app"

经过一番调查,看来服务是可行的方法。但最好的方法是什么?我使用工厂、服务、值(value)还是其他东西?

来自 angularjs-master-seed 的 services.js 如下;

angular.module('myApp.services', []).value('version', '0.1');

如何修改它以获得可在 Controller 之间共享的常量 $webroot?

我可以执行以下操作吗?

angular.module('myApp.services', [])
        .value('version', '0.1')
        .constant('webroot','localhost/webroot/app');

如果可以的话,如何在 Controller 中调用它?

最佳答案

当你想要更多常量时会发生什么?添加一个可以在需要的地方注入(inject)的配置对象怎么样?由于它是单个文件,因此可以更容易地拥有可以在构建时换入和换出的 dev.config 和 prod.config 文件。

app.factory('Config', function(){
    return{
        webRoot: "localhost/webroot/app",
        moreSettings: "abc"
    };
});

关于javascript - 如何创建这个全局常量以便在 Angularjs 中的 Controller 之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22707699/

相关文章:

javascript - react native 表单请求

javascript - 没有javascript的ASP.NET MVC

javascript - 为什么不贪心三重点?

angularjs - Angular 2 : Inject view/DOM into component constructor

javascript - AngularJS - 深层对象的属性删除

angularjs - 两个 Controller 依赖于异步返回的相同数据

javascript - Circle : get max (x, y) 边界坐标

asp.net - 如何使用 ASP.NET Web 服务后端对 AngularJS 进行单元测试

javascript - Angularjs 组件在 knockoutjs 模板中不起作用

javascript - Angular 将值存储到服务以在多个页面上访问