Как отрендерить нативный WebComponent внутри приложения, смонтированного на Vue ТОЛЬКО ОДИН РАЗ

Я создал собственный веб-компонент (CampusList), который будет запрашивать сервер. Поскольку я помещаю его в элемент, установленный Vue, Vue будет createElement этого веб-компонента во второй раз. Как отрендерить нативный WebComponent внутри приложения, смонтированного на Vue ТОЛЬКО ОДИН РАЗ Поскольку этому компоненту потребуются данные с сервера, он отправит один и тот же запрос дважды!
Конечно, не должно, что мне делать?

Не отображайте содержимое внутри CampusList. Создал все ваши элементы (в DIV или что-то еще), а затем в конце сделайте CampusList.replaceWith(div)

Danny '365CSI' Engelman 30.03.2021 22:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
21
1

Ответы 1

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

let fetchMade = false;

class CampusList extends HTMLElement {
  connectedCallback() {
    if (!fetchMade) {
      console.info('fetch!');
      fetchMade = true;
    } else {
      console.info('do not fetch');
    }
  }
}

customElements.define('campus-list', CampusList);

Поэтому мне нужно делать это несколько раз во многих классах? Лично я думаю, что это не так просто / ясно

Soul Clinic 31.03.2021 17:24

Другие вопросы по теме