ao publicar e inscrever eventos usando $ emit, $ broadcast ou $ on, considere mover esses usos para uma fábrica e invocar a partir do controlador.
existe um exemplo?
se você precisa dos métodos $ scope, você precisa injetar $ scope.
Então, está certo usar isso e $ scope em um controlador?
Você certamente pode fazer isso. Parte da vantagem de usar "controlador como" é que o $ scope faz muitas coisas. O controlador As permite que os aspectos de vinculação de dados permaneçam separados e então injetamos $ escopo apenas quando precisamos dele para outra coisa.
Quando preciso de $ scope para algo em um controlador, tento primeiro ver se realmente preciso dele e, se preciso, abstraio-o para um serviço para coisas como broadcast / emit. Então, no seu caso, eu ainda abstrairia.
Claro! Muito obrigado!
Comentários muito úteis
Você certamente pode fazer isso. Parte da vantagem de usar "controlador como" é que o $ scope faz muitas coisas. O controlador As permite que os aspectos de vinculação de dados permaneçam separados e então injetamos $ escopo apenas quando precisamos dele para outra coisa.
Quando preciso de $ scope para algo em um controlador, tento primeiro ver se realmente preciso dele e, se preciso, abstraio-o para um serviço para coisas como broadcast / emit. Então, no seu caso, eu ainda abstrairia.