Non riesco a decidere quale metodo utilizzare nel seguente caso. Sto cercando di avvisare quando clicchi sui pulsanti. Posso farlo usando 2 metodi. Qual è la migliore pratica e per favore dimmi perché?Angularjs - funzione ng-click vs direttiva
Metodo 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');
})
}
}
})
Metodo 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');
}
}]);
Grazie, Rushan
Le direttive sono oggetti autonomi che includono sia il modello che la logica. Se si prevede di eseguire quel codice su molte viste con diversi controller, una direttiva è la strada da seguire. Se si sta pianificando di utilizzarlo solo in una vista con un singolo controller collegato non ha alcun punto – vktr
@vkt: va bene usare la direttiva su tutti i casi. Voglio dire se è monouso o multiplo? – Body