存储应用程序配置设置

gov*_*vin 45 javascript angularjs

在AngularJS中存储应用程序配置设置的最佳位置是什么?这可能是应用程序常量,查找等,可以从控制器和服务或工厂使用.我可以创建一个单独的服务来存储和检索这些东西,但我想知道是否有另一个适当的地方来存储和检索它们.

Hip*_*tes 73

你可以使用constant()提供程序!

app.constant('myAppConfig', {ver: '1.2.2', bananas: 6, hammocks: 3, bananaHammocks: true});
Run Code Online (Sandbox Code Playgroud)

这与Terry的解决方案并不完全不同,但常量不会改变,因此它们会在其他提供者之前应用.此外,此模块可以注入您的配置功能.

app.config(function(myAppConfig){
    console.log(myAppConfig.bananaHammocks);
});
Run Code Online (Sandbox Code Playgroud)

玩得开心

  • bannanaHammocks ...哈! (13认同)
  • 只是为了信息,你**可以改变**常量内的值**,如果常量是**对象**,就像上面的例子中一样.阅读更多[这里](http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/) (2认同)

Ter*_*rry 14

不确定是否有"最佳方式",但我个人使用服务,这是一个简短的例子:

angular.module('myApp').factory('AppSettings', function() {
  return {
    language: 'en'
  }
});

angular.module('myApp').controller('myController', ['AppSettings', 
  function(AppSettings) {
    $scope.language = AppSettings.language;
  }
]);
Run Code Online (Sandbox Code Playgroud)