Почему сannot read properties of null при добавлении свойств в классе?
Не могу понять почему внутри класса свойства не работают, а снаружи если задать то норм?
Не знаю, но думаю в дальнейшем поделить класс ComponentsPlayer на Handlers, Buttons, Components
snippet
class ComponentsPlayer { static playButton = document .getElementById("root") .querySelector(".playButton"); //null так нет ... } |
class ComponentsPlayer { static playButton = document .getElementById("root") .querySelector(".playButton"); //null так нет ... }
(() => { //ComponentsPlayer.playButton = document.querySelector(".playButton"); так работает ComponentsPlayer.handlerPlay(player); })(); |
(() => { //ComponentsPlayer.playButton = document.querySelector(".playButton"); так работает ComponentsPlayer.handlerPlay(player); })();
Дополнительно:
Потому что на момент присваивания DOM элемент не существует
- Спасибо Вам. Не как не выйдет в классе присвоить?(
- Speakermen, выйдет. Достаточно js выполнить после того, как DOM элемент нужный появится на странице.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Ошибка "Cannot read properties of null" возникает, когда вы пытаетесь обратиться к свойству объекта, который является null. Это может произойти, если вы забыли создать экземпляр объекта перед обращением к его свойствам, либо если в процессе выполнения кода объект был удален или не был правильно инициализирован.
Для того чтобы избежать данной ошибки, убедитесь, что перед обращением к свойствам объекта он был создан и проинициализирован. Например, если у вас есть класс:
class MyClass { public $property; } $obj = new MyClass(); $obj->property = 'value';
Здесь мы создаем экземпляр класса MyClass и затем присваиваем значение свойству property. Таким образом, у нас не будет ошибки "Cannot read properties of null".
Также обратите внимание на то, что если вы пытаетесь обратиться к свойству объекта, которое не существует, то также может возникнуть данная ошибка. Убедитесь, что вы правильно обращаетесь к существующим свойствам объекта.
Если после выполнения данных рекомендаций ошибка все еще возникает, то необходимо провести отладку вашего кода, чтобы выяснить, в каком месте и по какой причине объект становится null. Может быть, вы где-то переопределяете его значение или происходит другая ошибка, которая приводит к данной проблеме.