AngularJS - получить значение определенных констант внутри .constant - PullRequest
0 голосов
/ 20 марта 2020

У меня есть angularJS .constant, который выглядит следующим образом:

(function (angular, undefined) {
    'use strict';

    angular.module('someModule')
    .constant('MyConstants', {
        VALUE_ONE: 12345,
        VALUE_TWO: VALUE_ONE // it says "VALUE_ONE is undefined"
    });
})(angular);

Обратите внимание, что когда я пишу: VALUE_TWO: this.VALUE_ONE, мой тест падает с msg:

TypeError: undefined не является объектом (оценивается как this.VALUE_ONE).

Как я могу получить значение VALUE_ONE внутри MyConstants?

1 Ответ

0 голосов
/ 20 марта 2020

Я думаю, что вы не можете этого сделать, и я не понимаю, почему вы этого хотите. Если вы хотите, чтобы VALUE_TWO зависело от VALUE_ONE, то это не константа, и вы не должны пытаться включать ее в константу.

Если вы хотите иметь некоторый набор константных значений, включая другие значения, зарегистрированные как CONSTANTS, вы можете определить его как свойство angular. js Service :

 angular.module('someModule') 
.factory('MyService', ['MyConstants', function(MyConstants) {
  return {
    compositeConstant: [MyConstants.VALUE_ONE, 1, 2, 3]; 
  }
}])
...