¡Esta es una revisión vieja del documento!
La directiva ng-click permite ejecutar código JavaScript cuando se pincha sobre el elemento.
<tag ng-click="expresion_a_ejecutar" ></tag>
Cuando se pulse sobre el elemento se ejecutará la expresión indicada en la directiva ng-click. La epresión se jecutan en el conteto del $scope del controlador.
¿Porque necesitamos esta directiva si hace lo mismo que onclick?
Debemos usar la directiva ng-click en vez de onclick porque ng-click ejecuta código asociado al $scope de nuestro controlador y por lo tanto tendremos acceso a las funciones de angular, mientras que con onclick no lo tendríamos.
Observa este código HTML:
<body ng-app="MiApp" ng-controller="MiPageController">
A:<input type="number" ng-model="a"><br />
B:<input type="number" ng-model="b"><br />
<button ng-click="sumar()">Sumar</button><br />
Resultado:<input type="number" ng-model="resultado"><br />
</body>
Los inputs vienen ligados a las variables a y b del modelo (líneas 2 y 3). En la línea 4 se indica mediante esta directiva que se ejecute una función sumar() definida en el $scope. Esta función alterará el valor de la variable resultado, lo que producirá a su vez que aparezca la suma en la línea 5.
Por tanto, al pulsar sobre el botón se ejecutará la función sumar() definida en el $scope y se mostrará el resultado. El modelo quedaría de esta forma:
function MiPageController($scope) {
$scope.a=3;
$scope.b=7;
$scope.resultado=0;
$scope.sumar=function() {
$scope.resultado=$scope.a+$scope.b;
}
}
Demo