Angularjs - ng-click fonction vs directive

Je ne peux pas décider de la méthode à utiliser dans les cas suivants. Je suis tenté d'alerter en cliquant sur les boutons. Je peux le faire à l'aide de 2 méthodes. Quelle est la meilleure pratique et s'il vous plaît dites-moi pourquoi?

Méthode 1

<div ng-app="app">
  <button alert>directive</button>
</div>

var app = angular.module('app', ['ngRoute']);

app
  .directive('alert', function(){
    return {

      link: function(scope, element, attr) {
            element.on('click', function(){
          alert('clicked');
        })
      }

    }
  })

Méthode 2

<div ng-app="app" ng-controller="MainCtrl">
  <button ng-click="go()">ng-click</button>  
</div>

app.controller('MainCtrl', ['$scope', function($scope) {

  $scope.go = function() {
    alert('clicked');
  }
}]);

Merci,
Rushan

source d'informationauteur Body