LitElement устанавливает ссылку на шаблон в null, если ссылка изменена?

#javascript #typescript #web-component #lit-element

#javascript #typescript #веб-компонент #lit-элемент

Вопрос:

Этот stackblitz изменяет this.iframe :

   @query("#iframe")
  iframe: any;

  firstUpdated() {
    console.log("THE IFRAME IS: ", this.iframe);
    this.iframe.id = "";
    console.log("THE IFRAME IS: ", this.iframe);
  }
 

После выполнения this.iframe.id инструкции this.iframe значение равно null.

Есть идеи, почему это происходит?

Ответ №1:

Это моя собственная ошибка. Я запрашиваю шаблон по идентификатору, а затем меняю идентификатор на что-то другое, что затем повторяет запрос и присваивает iframe значение null, поскольку он не может быть найден.

Комментарии:

1. Поскольку в вопросе или ответе нет реального значения, может быть, лучше удалить ваш вопрос.

2. Я тоже думал об этом … Но если кто-нибудь столкнется с этой динамикой, вопрос может иметь некоторое значение. Я был новичком в lit element, когда это произошло… тогда до меня дошло, что я тупая задница :).

3. @ole если это останется таким же информационным, возможно, стоит добавить к вашему ответу, что селектор @query снова запускается при вызове this.iframe , поскольку это ошибка. Тогда примите свой собственный ответ 🙂