Mean full Stack Cap. 4.16 Configurando rotas com $routeProvider

Boa tarde pessoal, tudo bem?

Estou no 4.16 Configurando rotas com $routeProvider, estou com duvida, segue:

1 - http://localhost:3000/index.html#/contatos
Aqui pedi para carregar uma lista de contatos na rota “#/contatos”

2 - //public/js/main.js/ neste arquivo estão as rotas que aponta para os partials/controllers

Pelo que entendi vai chamar o “contatosController”, como o AngularJs sabe qual função ele tem que chamar dentro
do ContatosController.js sendo que tem duas functions buscaContatos() e $scope.remove = function(contato) ?

Nao entendi a logica!

Atenciosamente,
Messias Cardoso

Olá,

Acredito que sua dúvida nem seja de Angular, mas da linguagem JavaScript.

Quando um controller é criado, a função que define o controller é executada, sempre. Qualquer chamada de função dentro do controller é executada, como no caso de buscaContatos(). Contudo, $scope.remove não é invocado dentro do controller, apenas declarada. Declarações aguardam serem invocadas. Quando remove é invocado, executado? Apenas quando alguém clicar no botão remove da página que disparará um evento passando o contato para $scope.remove.

Consegui tirar a sua dúvida. Era isso mesmo?