Компонент Vue не обновляется при изменении параметра URL-адреса маршрута.

Если пользователь выбирает файл через , вы можете читать и процесс с помощью файла File API .

Чтение или запись произвольных файлов не допускается по дизайну. Это нарушение песочницы. Из Wikipedia -> Javascript -> Безопасность :

JavaScript и DOM предоставляют злоумышленникам возможность запускать сценарии для запуска на клиентском компьютере через Интернет. Авторы браузера содержат этот риск, используя два ограничения. Во-первых, скрипты выполняются в изолированной среде, в которой они могут выполнять только действия, связанные с веб-сайтом, а не задачи общего назначения, такие как создание файлов.

blockquote>

2016 UPDATE: доступ к файловой системе напрямую возможен через API файловой системы , который , поддерживаемый только Chrome и Opera и , может не реализоваться другими браузерами (с исключением Край ). Подробнее см. ответ Кевина .

-2
задан Bobimaru 18 January 2019 в 09:42
поделиться

1 ответ

Причина проста, даже если URL-адрес не меняет компонент, VueJS в основном повторно использует компонент и, следовательно, больше не вызывает метод mount ().

Обычно вы можете просто установить наблюдатель и немного изменить свой код

methods: {
    fetchData(userName) {
        axios.get('/markers/' + this.username)
        .then(response => {
            this.markers = response.data.markers
        }).catch((error) => console.log(error));
    }
},
watch: {
    '$route.params': {
        handler(newValue) {
            const { userName } = newValue

            this.fetchData(userName)
        },
        immediate: true,
    }
}

РЕДАКТИРОВАТЬ: добавлена ​​опция inmediate true и удален подключенный хук ()

0
ответ дан Borjante 18 January 2019 в 09:42
поделиться