2016-12-02 2 views
1

Angular2 использует концепцию зон, чтобы удалить необходимость вручную обновлять представление. Это здорово, но когда Angular2 решит сделать обновление?angular2 - Does Angular2 делает просмотр обновлений для каждого события?

После прочтения этого article У меня есть представление о том, что Angualar2 обновляет информацию почти по каждому событию. Даже на мероприятии mousemove! Это правда ?

Потому что, если это так, его проклятая вычислительная цена.

+0

Этот вопрос можно связать http://stackoverflow.com/questions/40300635/angular-2-runoutsideangular-still-change-the-ui – yurzui

ответ

2

Зависит от того, что вы имеете в виду под «событием». Угловая информация не обновляется по событиям, которые не регистрируются слушателями событий изнутри Angular2.

Угловой также не обновляется только из-за события, он просто запускает обнаружение изменений, чтобы увидеть, нуждается ли что-то в обновлении.

С ChangeDetectionStrategy и другими мерами вы также можете ограничить, в каких частях приложения оно запускает обнаружение изменений.

+0

Так что обнаружение изменений срабатывает каждый раз, когда происходит событие перемещения мыши? Разве это не слишком неэффективно? –

+0

Как я уже сказал, он проверяет, есть ли обработчики событий, зарегистрированные для этого события. Если есть обработчик событий, вероятно, обработчик каким-то образом изменил состояние, поэтому разумно обнаружить изменения. –

+0

Также снова. У вас есть мелкий контроль над тем, какие части вашего приложения должны быть проверены на предмет изменений. По умолчанию это не самая эффективная настройка, но по-прежнему достаточно эффективная, но это самый простой способ начать работу. –

Смежные вопросы