Мне интересно, какое влияние на изменения производительности ниже, чем на шкалы сложности. Часть ответа на этот вопрос (с использованием свойств) уже была рассмотрена в AngularJS : Why ng-bind is better than {{}} in angular?, но я хотел бы понять влияние использования функций вместо свойств.Производительность функций привязки AngularJS
Мне кажется, что со свойствами Angular «знает» в некотором смысле, когда происходит изменение, в то время как функция непрозрачна, поэтому Angular не знал бы и должен был бы оценивать каждый раз. Тем не менее, в соответствии с другим вопросом SO, упомянутым выше, Angular уже оценивает каждый раз с прямым шаблоном в любом случае. Так действительно ли существует штраф за выполнение функции вместо свойства? И каковы плюсы и минусы каждого из них?
1 Прямая шаблонный со свойством
<div>Hello, {{user.name}}</div>
2 нг-связывания-шаблон со свойством
<div ng-bind-template="Hello, {{user.name}}"</div>
3 нг-связывания со свойством
<div>Hello, <span ng-bind="user.name"></span></div>
4 Прямая шаблонный с функцией
<div>Hello, {{GetUserName()}}</div>
5 нг-связывания-шаблон с функцией
<div ng-bind-template="Hello, {{GetUserName()}}"</div>
6 нг-связывания с функцией
<div>Hello, <span ng-bind="GetUserName()"></span></div>
Дополнительные вызовы функций означают дополнительные накладные расходы.Кроме того, вы никогда не хотите использовать функцию, которая запускает запрос async, если это не основано на событиях ... много попыток, хотя – charlietfl
Ну, я думаю, вы уже ответили на большинство важных вопросов. Я имею в виду, я думаю, вы не должны использовать функции для такой вещи, это лишние накладные расходы. Функция должна использоваться, когда привязка приходит из представления и свойств, когда привязка приходит из модели. –
@LenilsondeCastro: Вы имеете в виду «... функции должны использоваться, когда привязка приходит из _controller_? –