Подтвердить что ты не робот

Ng-стиль или атрибут стиля с привязкой? Что лучше? Что быстрее? В чем разница?

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

Вложенные атрибуты стиля

<div style="background-color:{{item.color}}"></div>

Использование стиля ng

<div ng-style="{'background-color':item.color}"></div>

Использование стиля стиля

<div once-style="{'background-color':item.color}"></div>

Примечание. Для once-style я использовал директиву AngularOnce.

Спасибо заранее. Скажите, пожалуйста, какой из них быстрее и почему.

4b9b3361

Ответ 1

Поскольку вы оптимизируете свое значительное приложение, производительность определенно под вопросом, и я думаю, что ngStyle работает лучше, поскольку он настраивает часы на модели и обновляет представление только в том случае, если модель изменилась.

Итак, я бы пошел с ngStyle или onceStyle в зависимости от вашего сценария:

<div once-style="{'background-color':item.color}"></div>

Использование {{}} сделает Angular обновление привязки каждого цикла дайджеста, даже если значение не изменилось.

Ответ 2

Одна привязка времени доступна после Angular 1.3.

Вы можете сделать это, не зависимо от сторонних библиотек:

<div ng-style="::{'background-color': item.color}"></div>

Я не оценил производительность, но я уверен, что это лучше, чем без двоеточий.