В приложении Angular JS мне нужно показать пользователю результат функции javascript (heavyFunction в моем примере), который зависит от ввода пользователя, поэтому я использую {{}}, чтобы показать результат.Результат кэша в Angular JS
Мне нужно показать его только в определенных условиях, поэтому я также вызываю эту функцию в директивах ng-show и ng-class.
<span ng-show="heavyFunction() > 0" ng:class="{true:'red', false:'blue'}[heavyFunction() > 5]"> {{heavyFunction()}} </span>
Проблема в том, что я вызываю функцию три раза, а не один раз. Какова наилучшая практика в Angular JS для вызова этой функции только один раз?
Plunker: https://plnkr.co/edit/9r5AlA3RbtZLseOCOzPX?p=preview
Chanthu, спасибо, но для этого решения потребуется ng-изменение для каждого элемента, чего я бы хотел избежать. – mihania