Angular-styleguide: como chamar $ scope. $ broadcast quando usar vm = this?

Criado em 12 set. 2014  ·  4Comentários  ·  Fonte: johnpapa/angular-styleguide

TypeError: vm. $ Broadcast não é uma função

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?

question

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.

Todos 4 comentários

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!

Esta página foi útil?
0 / 5 - 0 avaliações