Angular 2 EventEmitter производительность

0

Я работаю над веб-приложением на основе Angular 2. В Angular 1 у нас были двусторонние привязки данных, поэтому услуги можно было легко связать с данными страницы с помощью $ scope (если мы что-то изменим в сервисе, данные будут автоматически обновляться).

В Angular 2 у нас есть EventEmitter, я думал, что это похоже на Angular 1 $ scope. $ Broadcast, поэтому с этим могут возникнуть проблемы с производительностью.

Как насчет производительности EventEmitters? Они замедляют применение?

Теги:
angular

1 ответ

1
Лучший ответ

События, выпущенные EventEmitter, не пузырятся, а также не транслируются. EventEmitters предназначены для привязки только от дочернего к родительскому.

Для трансляции используйте общие службы.

Смотрите также
- https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service
- обновление изменений переменных в компонентах из службы с угловым2
- Делегирование: EventEmitter или Observable в Angular2

  • 0
    Есть ли показатели производительности? В частности, сколько усилий приложением EventEmitters?
  • 1
    Я думаю, что EventEmitters не является бременем для производительности. Они (по крайней мере, в настоящее время - могут измениться в будущем) можно Observable когда отправленное событие вызывает обратный вызов для подписчиков. События, генерируемые EventEmitter могут вызывать обнаружение изменений Angulars. Это зависит от вашего приложения и компонентов, сколько фактически нужно сделать, когда вызывается обнаружение изменений. Например, если вы используете OnPush это может быть дешево. По умолчанию ( CheckAlways ) это может стать довольно дорогим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню