MEAN.JS - Componentes angulares no aplicativo
Neste capítulo, adicionaremos componentes angulares a um aplicativo. É uma estrutura JavaScript de front-end da web, que permite criar aplicativos dinâmicos de página única usando o padrão Model View Controller (MVC). No capítulo de arquitetura MEAN.JS , você viu como o AngularJS processará a solicitação do cliente e obterá o resultado do banco de dados.
Conhecendo o AngularJS
AngularJS é uma estrutura de aplicativo da Web de código aberto que usa HTML como linguagem de modelo e estende a sintaxe do HTML para expressar claramente os componentes de seu aplicativo. O AngularJS fornece alguns recursos básicos, como vinculação de dados, modelo, visualizações, controladores, serviços, etc. Para obter mais informações sobre o AngularJS, consulte este link .
Você pode tornar a página um aplicativo Angular adicionando Angular à página. Ele pode ser adicionado usando apenas um arquivo JavaScript externo, que pode ser baixado ou pode ser referenciado diretamente com uma versão CDN.
Considere que baixamos o arquivo e o referenciamos localmente, adicionando à página da seguinte forma -
<script src="angular.min.js"></script>
Agora, precisamos informar ao Angular que esta página é um aplicativo Angular. Portanto, podemos fazer isso adicionando um atributo, ng-app à tag <html> ou <body> como mostrado abaixo -
<html ng-app>
or
<body ng-app>
O ng-app pode ser adicionado a qualquer elemento da página, mas geralmente é colocado na tag <html> ou <body> para que o Angular possa funcionar em qualquer lugar da página.
Aplicação Angular como Módulo
Para trabalhar com uma aplicação Angular, precisamos definir um módulo. É um local onde você pode agrupar os componentes, diretivas, serviços, etc., que estão relacionados ao aplicativo. O nome do módulo é referenciado pelo atributo ng-app no HTML. Por exemplo, diremos o nome do módulo de aplicativo angular como myApp e pode ser especificado na tag <html> como mostrado abaixo -
<html ng-app="myApp">
Podemos criar uma definição para o aplicativo usando a instrução abaixo em um arquivo JavaScript externo -
angular.module('myApp', []); //The [] parameter specifies dependent modules in the module definition
Definindo o controlador
O aplicativo AngularJS depende de controladores para controlar o fluxo de dados no aplicativo. Um controlador é definido usando a diretiva ng-controller .
Por exemplo, vamos anexar o controlador ao corpo usando a diretiva ng-controller, junto com o nome do controlador que deseja usar. Na linha abaixo, estamos usando o nome do controlador como "myController".
<body ng-controller="myController">
Você pode anexar um controlador (myController) a um módulo Angular (myApp) como mostrado abaixo -
angular
.module('myApp')
.controller('myController', function() {
// controller code here
});
É melhor usar a função nomeada em vez de uma função anônima para facilitar a leitura, reutilização e testabilidade. No código a seguir, estamos usando a nova função nomeada "myController" para manter o código do controlador -
var myController = function() {
// controller code here
};
angular
.module('myApp')
.controller('myController', myController);
Para obter mais informações sobre controladores, consulte este link .
Definindo Escopo
Scope é um objeto JavaScript especial que conecta o controlador às visualizações e contém os dados do modelo. Nos controladores, os dados do modelo são acessados por meio do objeto $ scope. A função do controlador usa o parâmetro $ scope que foi criado pelo Angular e dá acesso direto ao modelo.
O trecho de código a seguir especifica como atualizar a função do controlador para receber o parâmetro $ scope e define o valor padrão -
var myController = function($scope) {
$scope.message = "Hello World...";
};
Para obter mais informações sobre controladores, consulte este link . No próximo capítulo, começaremos a criar um aplicativo de página única usando o Angular.