2016-11-14 3 views
1

В функции угловой директивы init я объявляю константу и использую константу в html. У меня несколько директив, использующих одну и ту же константу. Я хочу, чтобы константы были многоразовыми. В приведенном ниже примере я использую scope.sName и scope.sType как в директиве test, так и test1, как я могу использовать ИТ в ОБЩЕМ МЕСТЕ И ВОЗВРАТИТЬ ЭТО.Оптимизация кода в угловой директиве

app.directive('test', function() { 
return { 
    restrict:'A', 
    scope: { someVal: '='} 
    link: function(scope, element, attrs) { 
    scope.sType = InvertoryConstant.serviceType; 
    scope.sName = InvertoryConstant.serviceName; 
} 
}}); 

app.directive('test1', function() { 
return { 
    restrict:'A', 
    scope: { someVal: '='} 
    link: function(scope, element, attrs) { 
    scope.sType = InvertoryConstant.serviceType; 
    scope.sName = InvertoryConstant.serviceName; 
} 
}}); 
+0

Поместить общий код в службу и внедряйте службу в свою директиву. –

+0

является 'InvertoryConstant' объектом ?, поскольку он является постоянным, его значение не изменится в любом месте? – Sravan

+0

и где у вас есть эта постоянная сейчас? – Sravan

ответ

0

Вы можете использовать метод $provider.constant в AngularJS для создания СУХОЙ константы:

angular.module('projectApp', []) 
    .constant('EXAMPLE_CONSTANT','exampleConstant') 

Вы можете вводить EXAMPLE_CONSTANT в любой из ваших модулей, как зависимость

Смежные вопросы