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.
Спасибо заранее. Скажите, пожалуйста, какой из них быстрее и почему.
Ответы
Ответ 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>
Я не оценил производительность, но я уверен, что это лучше, чем без двоеточий.