Diretiva ng-click
A diretiva ng-click
é utilizada para representar um comportamento de clique do mouse em um elemento, por exemplo um botão. O conteúdo da diretiva (o atributo) é um código JavaScript. O exemplo a seguir demonstra a utilização desta diretiva.
{%raw%}
<!DOCTYPE html>
<html lang="pt-br" ng-app="appsimples">
<head>
<meta charset="utf-8" />
<title>App Simples</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
<script>document.write('<base href="' + document.location + '" />');</script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="HomeController">
<div class="container">
<h1>Cidades do Tocantins</h1>
<div class="row">
<div class="col-xs-6 col-md-6">
<h2>Lista de cidades</h2>
<p>
<div class="input-group">
<input type="text" class="form-control" ng-model="q" placeholder="Pesquisar...">
<span class="input-group-addon">
<span class="glyphicon glyphicon-search"></span>
</span>
</div>
</p>
<ul>
<li ng-repeat="cidade in cidades | filter:q">{{cidade}}</li>
</ul>
</div>
<div class="col-xs-6 col-md-6">
<h2>Cadastrar cidade</h2>
<div class="input-group">
<input type="text" class="form-control" ng-model="nova_cidade" placeholder="Informe o nome da cidade...">
<span class="input-group-btn">
<button class="btn btn-default" type="button" ng-click="salvar(nova_cidade); nova_cidade=''">Salvar</button>
</span>
</div>
</div>
</div>
</div>
</body>
</html>
{%endraw%}
{%raw%}
(function(){
angular.module('appsimples', [])
.controller('HomeController', function($scope) {
$scope.cidades = ['Araguaína', 'Gurupi', 'Palmas', 'Paraíso', 'Porto Nacional'];
$scope.salvar = function(cidade) {
$scope.cidades.push(cidade);
}
});
})();
{%endraw%}
Você pode ver o exemplo em funcionamento aqui.
No controller, no arquivo app.js
, na linha 6 é definida a função salvar()
, que aceita como parâmetro o nome da cidade a ser inserida no vetor cidades
.
Na view, no arquivo index.html
, na linha 42 está presente o elemento button
e nele é aplicada a diretiva ng-click
. Neste caso, a diretiva indica que será chamada a função salvar()
passando como parâmetro o model nova_cidade
(vinculado ao input
da linha 40) e, posteriormente, o valor do model será uma string vazia.
Info Exercício
O exemplo anterior implementa parte das funcionalidades de um CRUD. Neste caso, está implementando a consulta (listagem dos dados) e o cadastro. Implemente a funcionalidade de excluir uma cidade.