Как отложить загрузку данных, когда сгенерированная Скалли статическая страница уже содержит последние данные

#angular #angularjs #ssg #scully #angular-scully

#угловой #angularjs #ssg #скалли #угловой-скалли

Вопрос:

У меня есть угловой проект. В моем домашнем компоненте я загружаю текущие данные со своего внутреннего сервера методом ngOnInit. Это работает просто отлично. Но для повышения производительности я использовал Скалли, которая сгенерировала статическую страницу для моего домашнего компонента. Теперь, когда я загружаю свою страницу в браузер, она загружает статическую страницу. в котором есть все последние данные. это означает, что мне не нужно снова загружать данные.

Сгенерированная страница работает так, как ожидалось, даже когда я отключаю Javascript. Поэтому мой вопрос в том, как я могу избежать загрузки живых данных, когда на странице, загруженной браузером, это уже есть.

Мой первоначальный подход состоял в том, чтобы проверять элементы с помощью объектов документа, но, к сожалению, как только я нахожусь в ngOnInit, он не находит элемент, даже если он там есть. вот мой код.

 ngOnInit(): void {   let blogItems = document.getElementsByClassName("blog-item");  let isRendered : boolean = blogItems != null amp;amp; blogItems.length gt; 0;  if(isRendered)   return  else {  console.log("not rendered yet");  console.log(blogItems)  console.log("count: "   blogItems.length)  }   //code to load live data }  

есть ли какой-нибудь способ добиться этого?

Если я использую статический рендеринг на стороне клиента, то производительность, оцененная lighthouse, довольно плохая (даже с угловым проектом по умолчанию, который создается новым приложением ng), поэтому мне приходится переходить на статические сгенерированные страницы.