无法在angularjs服务中获得常量值

时间:2017-03-06 00:07:59

标签: angularjs

在我的模块中,我添加了常量,如下所示

var app = angular.module("myapp", ["ngRoute"]).constant("myConfig", {
"url": "http://localhost",
"port": "80"
});

我试图在下面的服务中获得常数值,但我无法得到任何东西。

app.service('MyService', function MyService($http, myConfig) {

}

在服务中获取常量值的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以创建服务功能并通过服务功能返回常量值。或者只是你可以将常量注入控制器并直接调用常量值。

var app = angular.module("myapp", []);

app.constant("myConfig", {
"url": "http://localhost",
"port": "80"
}); 

app.service('MyService', function MyService($http, myConfig) {
  var vm = this;
  
  vm.getConst = function(){
      return myConfig.url;
  }
});
app.controller("ctrl",function($scope,MyService,myConfig){
  //get it throuth servive
	
  console.log(MyService.getConst());
  
  //get it from controller 
  
  console.log(myConfig.url);
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="ctrl">

</div>