0
1

Добрый день. При тестировании проекта в уроке 3.3. в ходе исполнения кода .then((res) => {
 
this.virtualElement.src = this.element.src = `./img/${res.data.src}`; Функция onClick.
 
}) в файле editor-images в консоле возникает следующая ошибка: editor-images.js:40 Uncaught (in promise) TypeError: Cannot set properties of null (setting 'src').

Картинка на сервер добавляется, на элементе смена проходит.

Мой код функции onClick

 //редактирование картинок
    onClick() {
        //симулируем клик по элементу вручную
        this.imgUpload.click();
        this.imgUpload.addEventListener('change', () => {
            if(this.imgUpload.files && this.imgUpload.files[0]) {
                let formData = new FormData();
                formData.append("image", this.imgUpload.files[0]);
                axios.post('./api/uploadImage.php', formData, {
                    headers: {
                        "Content-Type": "multipart/form-data"
                    }
                }).then((res) => {
                    this.virtualElement.src = this.element.src = `img/${res.data.src}`;
                }).finally(() => {
                    this.imgUpload.value = "";
                });
            }
        });
    }

В консоле подсвещивается ошибка в данной строке:  this.virtualElement.src = this.element.src = `img/${res.data.src}`;


student_Q6vCiZli
1 year ago






Добрый день. Так прямо и не скажешь, но вы смотрели что именно находится в this, this.element и в this.virtualElement ? Скорее всего где-то попадает undefined и именно из-за этого не может быть найден атрибут src - что и ведет к ошибке. И вот в зависимости от причины нужно уже будет искать вариант решения. 

Иван Петриченко
1 year ago

Добрый день. Посмотрю.

student_Q6vCiZli
1 year ago

2 ответов