Специфичные для модуля константы в 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, потому что последний упомянутый модуль - это вещи.