2016-11-16 4 views
0

Я использую typescirpt в Angular.Угловая директива машинописного текста, найти div внутри элемента link

Я создал директиву, которая просто ДИВ, содержащий текст и кнопка закрытия с именем класса «блок-закрыть»

мне нужно добавить функцию щелчка на кнопке закрытия.

Как добавить кнопку click к кнопке, которая находится внутри директивы.

я пытался что-то вроде

angular.element('.block-close').on('click', function(){ 
     alert('here'); 
    }); 

    angular.element(document).find('.block-close').on('click', function(){ 
     alert('here'); 
    }); 

    (()=>{ 

     class MyDirective implements ng.IDirective{ 

      public restrict = 'E'; 
      public scope = {}; 
      public controller = 'MyController'; 
      public controllerAs = 'myCtrl'; 
      public bindToController = true; 
      public templateUrl = "mysite.html"; 

      constructor(){ 

      } 

      link = (scope, element, attrs) => { 
       angular.element('.block-close').on('click', function(){ 
        alert('here'); 
       }); 
      }; 

     } 

     angular.module('myMod').directive('myDirective',()=> new MyDirective()); 

    })(); 

ответ

0

Я просто предполагаю, что ваш «mysite.html» имеет код, как этот

<div> 
<input type="button" value="close" class="block-close"/> 
</div> 

И вы хотите обработать для дополнительной кнопки мыши событие имеет class "block-close".

На самом деле внутри функции связи вы можете получить доступ к этой сфере директивы так просто добавить одну функции показано ниже,

link = (scope, element, attrs) => { 
       scope.closeClicked =() =>{ 
          alert("clicked.."); 
        } 
      }; 

и обновить «mysite.html», как показано ниже

<div> 
    <input type="button" value="close" ng-click="closeClicked()" class="block-close"/> 
</div>