document.querySelector('#image').files[0]
этот computed вызывается в шаблоне и срабатывает при загрузку страницы, но срабатывает он до того как страница загрузилась и в консоль выдает
Cannot read properties of null (reading 'files')"
. как можно проверить есть ли файл в переменой (чтоб кнопку disables делать), но чтоб компбютед срабатывал после загрузки страницы?
он говорит, что нет НЕ файла, а нет #image
да, я пробовал делать через document.readyState но тогда компьютед срабатывает всего один раз
что-то я не уверен, что и в текущем виде computed сработает несколько раз, потому что он не будет отслеживать эти изменения.
почем ты именно в computed это положил?
у меня v-bind:disabled, мне нужно чтобы при каждом изменении поля он высчитывал
computed не должен содержать никаких сайд-эффектов, да и неясно, зачем ты напрямую в DOM лезешь
это не будет так работать
this.image = document.querySelector('#image')?.files[0] Добавление вопросительного знака должно решить проблему с ошибкой, но скорей всего не решит проблему с обновлением
к тому же квериселекторы во вью использовать плохо если ты так хочешь получить дом элемент, используй рефы
если честно сам понимаю что это плохая практика, но я по другому не могу вытащить файл, т.к input type file это отедьный компонент
этот компонент должен предоставлять тебе интерфейс для работы с инпутом
хм компонент должен интерфейс предоставлять для работы с файлом тогда
так эта функция у меня есть в комопоненте
Обсуждают сегодня