Специфичные для модуля константы в AngularJS?

Я только что обнаружил, что ничего не знал об угловых модулях.

Значение con в следующей директиве baz, что означает, что не имеет значения, где определена константа, то есть она не зависит от модуля.

Есть ли способ иметь специфичные для модуля константы?

angular.module('amodule', [])
    .constant("foo", "bar")
    .directive('helloWorld', function (foo) {
        return {
            link: function(scope) { scope.con = foo },
            restrict: 'E',
            scope:{
                name:'bind'
            },
            template: '<span>{{con}}</span>'

        }
    })

angular.module('stuff', [])
    .constant("foo", "baz")

angular.module('HelloApp', ['amodule', 'stuff'])

1 ответ

Решение

Нет, когда вы определяете артефакт AngularJS на модуле, он доступен для всех модулей, если вы ссылаетесь на них в модуле приложения. Если два модуля определяют одну и ту же константу, последняя определенная зависимость выигрывает и переопределяет первую. Порядок является ключевым в этом контексте. В вашем случае значение con равно baz, потому что последний упомянутый модуль - это вещи.

Другие вопросы по тегам