Scope AngularJS

Preview:

DESCRIPTION

Aprenda a utilizar o Scope do AngularJS

Citation preview

Scope

Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br

Rodrigo Branasrodrigo.branas@agilecode.com.br

http://www.agilecode.com.br

• Desenvolvendo Software na Gennera• Criando treinamentos na Agile Code• Escrevendo na Java Magazine e PacktPub• Palestrando sobre desenvolvimento de

software em eventos, universidades e empresas

Certificações

Formação Acadêmica

Ciências da Computação – UFSCGerenciamento de Projetos - FGV

SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM

Experiência

Há mais de 12 anos desenvolvendo software naplataforma Java com as empresas: EDS, HP, NET,Citibank, GM, Dígitro, Softplan, OnCast, Senai,VALE, RBS, Unimed, Globalcode, V.Office, Suntech,WPlex e Gennera.

• Há mais de 5 anos liderando pessoas.• Mais de 2000 horas em sala de aula.• Mais de 100 apresentações em eventos.• 6 artigos escritos para revistas.• 1 livro.• Mais de 500 profissionais treinados.• Criação de 22 palestras.• Criação de 10 treinamentos.• Criação de mais de 3.000 slides.

O que realmente me motiva?

$watch e $watchCollection

Por meio do $watch e $watchCollection é possível se registrar para acompanhar as

modificações de uma determinada propriedade do $scope.

$rootScope

Toda aplicação tem exatamente um root scope e todos os escopos filhos herdam as

suas propriedades.

1. app.run();

1. app.run(function() {2. });

1. app.run(function($rootScope) {2. });

1. app.run(function($rootScope) {2. $rootScope.usuario = {3. nome: "Pedro da Silva",4. email: "pedro.silva@agilecode.com.br"5. };6. });

Propagação de Eventos

Propagando eventos para os escopos filhos

1. $scope.$broadcast("usuario", {2. nome: "Pedro da Silva",3. email: "pedro.silva@agilecode.com.br"4. });

Propagando eventos para os escopos pais

1. $scope.$emit("usuario", {2. nome: "Pedro da Silva",3. email: "pedro.silva@agilecode.com.br"4. });

Ouvindo um determinado evento

1. $scope.$on("usuario", function (event, data) {2. $scope.usuario = data;3. });

Deixando de ouvir um determinado evento

1. $scope.$on("usuario", function (event, data) {2. $scope.usuario = data;3. });

1. $scope.$on("usuario", function (event, data) {2. $scope.usuario = data;3. });

1. var unsubscribe = $scope.$on("usuario", function (event, data) {2. $scope.usuario = data;3. });

1. var unsubscribe = $scope.$on("usuario", function (event, data) {2. $scope.usuario = data;3. });4. unsubscribe();