Angular JS. Могу ли я отобразить константу модуля в HTML?

У меня есть модуль с такой константой:

angular.module('SampleMod',[])
.constant("VERSION", "2.1");

Я хочу показать постоянное значение в HTML примерно так:

<p>{{VERSION}}</p>

Можно ли (не проходя мимо контроллера)?


person Migio B    schedule 28.12.2014    source источник
comment
Вся идея angular заключается во внедрении зависимостей. Вы можете использовать $rootScope для установки и получения константы, но я бы не рекомендовал это делать.   -  person simeg    schedule 28.12.2014
comment
Другим решением было бы создание службы, которая использует $http.get() для получения информации из файла JSON. Затем вы можете обновить файл без изменения кода.   -  person simeg    schedule 28.12.2014


Ответы (1)


Вы можете использовать для этого $rootScope, но в какой-то момент вам придется присвоить значение $rootScope. Вы также можете использовать директиву, которая делает то же самое.

angular.module('SampleMod',[])
.constant("VERSION", "2.1")
.run(function ($rootScope, VERSION) {
  $rootScope.VERSION = VERSION;
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app=SampleMod>
<p>{{VERSION}}</p>

person Explosion Pills    schedule 28.12.2014
comment
Я не вижу здесь никакой директивы. Вы имеете в виду беговую дорожку? - person haimlit; 28.12.2014
comment
Красиво, но это не сильно отличается от того, что можно сделать в контроллере... Возможно, это невозможно сделать без каких-либо присваиваний. - person Migio B; 28.12.2014