Angular-styleguide: как вызвать $ scope. $ broadcast при использовании vm = this?

Созданный на 12 сент. 2014  ·  4Комментарии  ·  Источник: johnpapa/angular-styleguide

TypeError: vm. $ Broadcast не является функцией

при публикации и подписке на события с помощью $ emit, $ broadcast или $ on рассмотрите возможность переноса этих применений в фабрику и вызова из контроллера.

есть пример?

question

Самый полезный комментарий

Вы, конечно, можете это сделать. Одним из преимуществ использования «контроллер как» является то, что $ scope выполняет множество функций. Контроллер As позволяет аспектам привязки данных оставаться отдельными, и тогда мы вводим $ scope только тогда, когда он нам нужен для чего-то еще.

Когда мне нужна $ scope для чего-то в контроллере, я сначала пытаюсь понять, действительно ли это нужно, и если да, то абстрагирую это до службы для таких вещей, как широковещательная передача / передача. Так что в вашем случае я бы все же абстрагировался.

Все 4 Комментарий

если вам нужны методы $ scope, вам нужно ввести $ scope.

Так можно ли использовать это и $ scope в одном контроллере?

Вы, конечно, можете это сделать. Одним из преимуществ использования «контроллер как» является то, что $ scope выполняет множество функций. Контроллер As позволяет аспектам привязки данных оставаться отдельными, и тогда мы вводим $ scope только тогда, когда он нам нужен для чего-то еще.

Когда мне нужна $ scope для чего-то в контроллере, я сначала пытаюсь понять, действительно ли это нужно, и если да, то абстрагирую это до службы для таких вещей, как широковещательная передача / передача. Так что в вашем случае я бы все же абстрагировался.

Ясно! Большое спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги