Угловая директива, как добавить атрибут к элементу?

Мне интересно, как сделать работу с этим fragmentом:

//html  //js var app = angular.module('app', []); app.controller("AppCtrl", function ($scope) { $scope.users = [{name:'John',id:1},{name:'anonymous'}]; $scope.fxn = function() { alert('It works'); }; }) app.directive("myDir", function ($compile) { return { link:function(scope,el){ el.attr('ng-click','fxn()'); //$compile(el)(scope); with this the script go mad } }; }); 

Я знаю, что речь идет о фазе компиляции, но я не понимаю, поэтому короткое объяснение будет очень ценным.

Директива, которая добавляет другую директиву к одному элементу:

Похожие ответы:

  • Как получить ng-class с грязной работой в директиве?
  • создание новой директивы с угловыми

Вот плукер: http://plnkr.co/edit/ziU8d826WF6SwQllHHQq?p=preview

 app.directive("myDir", function($compile) { return { priority:1001, // compiles first terminal:true, // prevent lower priority directives to compile after it compile: function(el) { el.removeAttr('my-dir'); // necessary to avoid infinite compile loop el.attr('ng-click', 'fxn()'); var fn = $compile(el); return function(scope){ fn(scope); }; } }; }); 

Очень чистое решение – не использовать ngClick вообще:

Плункер: http://plnkr.co/edit/jY10enUVm31BwvLkDIAO?p=preview

 app.directive("myDir", function($parse) { return { compile: function(tElm,tAttrs){ var exp = $parse('fxn()'); return function (scope,elm){ elm.bind('click',function(){ exp(scope); }); }; } }; }); 

Вы можете попробовать следующее:

   
  • Как вы можете ограничить значение из ввода с помощью AngularJS?
  • Угловое название директивы: допускаются только строчные буквы?
  • получить исходный элемент из ng-click
  • Как реализовать ng-изменение для пользовательской директивы
  • Как использовать функцию «replace» для пользовательских директив AngularJS?
  • Отложить угловое выполнение часов после $ digest (повышение DOM-события)
  • Как установить динамический controller для директив?
  • Понимание опции transclude определения директивы?
  • Угловая директива динамического шаблона Angular.js
  • Когда в пользу ng-if vs. ng-show / ng-hide?
  • Угловые директивы - когда и как использовать компиляцию, controller, предварительную ссылку и пост-ссылку
  • Interesting Posts

    Двоеточие и цитаты отображаются в виде бриллиантов в версии сервера ubuntu 12.10 через virtualbox 4.2

    Может ли терминал PowerShell по умолчанию хранить историю команд?

    SASS: создание имен имен подчеркивания фактически создает файлы css

    Каков размер стека по умолчанию, может ли он расти, как он работает с сборкой мусора?

    Как восстановить отсутствующий сертификат IIS Express SSL?

    Версия XSLT в iPhone

    Как удалить папку, вложенную достаточно глубоко, и избежать «слишком большого имени файла»?

    Как сгенерировать QR-код для Android-приложения?

    Bash: чтение ввода внутри, в то время как цикл чтения не работает

    LinkedHashMap в .NET

    notifyDataSetChanged не работает с RecyclerView

    Тип или имя пространства имен не существует в пространстве имен «System.Web.Mvc»

    Комбинация списка <Список >

    Как найти / найти и заменить в стандартной строке?

    Добавить Google в качестве поставщика поиска по умолчанию для Windows 8.1 IE 11

    Давайте будем гением компьютера.