Привет я строю формы делает много вычислений, таких как обобщение ключей в объектахУгловые расчеты повторить область применения
[
{ bar: 5, .. },
{ bar: 6, .. },
...
]
Я использую это выражение в в настоящее время 35 мест в моем HTML. Иногда подключен к дальнейших вычислений и с разными ключами
<div>
{{ sumKeys('bar') + foobar }}
</div>
Функция я использую объявлен как
app.controller('someCtrl', function($scope){
$scope.sumKeys= function(key){
return (calculated sum);
}
}
Моя проблема в том, что если я пишу одну букву в любом поле ввода функции сумма называется около 400 раз. Я знаю, что существует правило, которое вызывает функцию, если область изменяется до 10 раз, но нет ли более эффективного способа?
Могу ли я выводить результат без изменения области? Или заставить этот расчет сделать только один раз? Я знаю, что результаты не меняют сферу охвата. Таким образом, результаты должны быть одинаковыми после двух итераций. Я также реализовал функцию как фильтр с одинаковыми результатами.
Я бы сделать модель (завод в угловом) и сохраните всю свою логику там для получения необходимых данных. Вы можете выполнить вычисление один раз, вызвав функцию на модели. – ajmajmajma
Что означает @ajmajmajma означает использовать службу/фабрику для создания API, который вы откроете как SINGLETON. Таким образом, все, что вы сделали в этот момент, - это ввести службу/фабрику в w.e. – Yeysides