Angular - кешировать рендеринг некоторых промежуточных данных шаблона - PullRequest
0 голосов
/ 06 мая 2020

У меня есть шаблон в Angular 9. Во время рендеринга шаблона у меня такая же промежуточная структура данных, которая является частью модели приложения. Функция, которая создает эту промежуточную структуру данных, имеет относительно большой вес, и в настоящее время я вызываю ее несколько раз. Я знаю несколько способов решить эту проблему.

  1. Предварительный расчет де нормализованных данных при изменении модели. Легко, но не элегантно и не гибко.

  2. Сыграйте несколько неприятных трюков с последовательностью вызовов, например, вычислите при первом вызове (триггер с некоторым флагом), сохраните его в поле класса и затем используйте сохраненные данные. Также выполнит свою работу, но совсем не изящно. Я изменю способ работы приложения с моделью. Я хочу убедиться, что это хорошая идея, и выявить риски. 1018 *

<div *ngFor="let saveStructure of calculateAndReturnAsOneRowArray()">
  reuse saveStructure 
</div>

Но мне интересно - может, есть способ лучше? Или MobX - это решение (ну я знаю о Redux, но мне это не нравится).

...