169 похожих чатов

Всем привет. у меня в computed есть такая запись this.image =

document.querySelector('#image').files[0]
этот computed вызывается в шаблоне и срабатывает при загрузку страницы, но срабатывает он до того как страница загрузилась и в консоль выдает
Cannot read properties of null (reading 'files')"
. как можно проверить есть ли файл в переменой (чтоб кнопку disables делать), но чтоб компбютед срабатывал после загрузки страницы?

15 ответов

11 просмотров

он говорит, что нет НЕ файла, а нет #image

krike- Автор вопроса
gry-dmitrij
он говорит, что нет НЕ файла, а нет #image

да, я пробовал делать через document.readyState но тогда компьютед срабатывает всего один раз

krike
да, я пробовал делать через document.readyState но...

что-то я не уверен, что и в текущем виде computed сработает несколько раз, потому что он не будет отслеживать эти изменения.

почем ты именно в computed это положил?

krike- Автор вопроса
Dmytro Knysh
почем ты именно в computed это положил?

у меня v-bind:disabled, мне нужно чтобы при каждом изменении поля он высчитывал

computed не должен содержать никаких сайд-эффектов, да и неясно, зачем ты напрямую в DOM лезешь

this.image = document.querySelector('#image')?.files[0] Добавление вопросительного знака должно решить проблему с ошибкой, но скорей всего не решит проблему с обновлением

к тому же квериселекторы во вью использовать плохо если ты так хочешь получить дом элемент, используй рефы

krike- Автор вопроса
Artyom Tuchkov
computed не должен содержать никаких сайд-эффектов...

если честно сам понимаю что это плохая практика, но я по другому не могу вытащить файл, т.к input type file это отедьный компонент

krike
если честно сам понимаю что это плохая практика, ...

этот компонент должен предоставлять тебе интерфейс для работы с инпутом

ты должен использовать событие change input type="file"

krike
если честно сам понимаю что это плохая практика, ...

хм компонент должен интерфейс предоставлять для работы с файлом тогда

krike- Автор вопроса
Dmytro Knysh
screenshot ты должен использовать событие change input type=...

так эта функция у меня есть в комопоненте

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта