2015-05-26 3 views
4

У меня есть директива, которая использует пользовательский шаблон, и я хотел бы передать данные из этой директивы на другую и искать наилучший способ. Итак, мне хотелось бы, когда данные внутри директивы меняются, директива two получает уведомление (наблюдатель?) И действует на нее. До сих пор имеет смысл только метод с контроллером внутри директивного элемента и указатель внутри директивы two для метода контроллера (из директивы 1). Есть ли лучший способ для этого?Передача данных из одной директивы в другую

--------------   -------------- 
| directive 1 |---data-->| directive 2 | 
|    |   |    | 
---------------   -------------- 
+0

используют одни и те же данные (объект указатель) по обеим директивам. и следить за изменениями. – bahadir

ответ

1

Вы можете использовать либо $ широковещательные или услуги

$rootScope.$broadcast("anotherDirective"); 

, если вы хотите использовать значения одной директивы в другую затем

angular.module('app',[]).directive('directOne',function(serviceOne){ 
return { 
     restrict: 'A', 

     link: function (scope, el, attrs) { 
serviceOne.variable1=anyValue; 
} 
} 
}); 

второй директивы

angular.module('app',[]).directive('directSec',function(serviceOne){ 
return { 
     restrict: 'A', 

     link: function (scope, el, attrs) { 
console.log(serviceOne.variable1); 
} 
} 
}); 
Смежные вопросы