Vue Одностраничное приложение Маршрутизатор, что происходит с компонентами, когда мы меняем маршрут? - PullRequest
0 голосов
/ 12 октября 2018

Предположим, у меня есть компонент с именем FirstPage, который является моим маршрутом по умолчанию, теперь FirstPage запускает асинхронный вызов с помощью действия хранилища vuex, которое выполняется каждую минуту для внутреннего интерфейса Api (он срабатывает, когдакомпонент загружен как маршрут), теперь давайте предположим, что я перехожу к маршруту about, который идет к компоненту About, FirstPage все еще выполняет вызовы?

Редактировать:
Я еще не разрабатываю приложение с этим, поэтому не могу привести примеры.
Мне интересно знать поведение в этих случаях маршрутизатора, потому что всякий раз, когдаЯ изменил маршрут, и мне хотелось бы прекратить совершать постоянные вызовы (так как они не понадобятся).
Причина в том, что в зависимости от этого мне придется переключать инструменты для проекта, который я имею в виду.

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

вы можете сделать родительский компонент с просмотром маршрутизатора и загрузить на свою страницу, которую вы всегда хотите загрузить, поэтому ваш компонент FirstPage, но этот компонент должен просто иметь логику, а не HTML, потому что в противном случае вы всегда будете видетьчто оказано.Маршрутизатор-просмотр страницы, которую вы хотите отобразить в реальном HTML и прочее.Я надеюсь, что вы поняли, если бы я не мог сделать пример для вас.Удачи.

0 голосов
/ 12 октября 2018

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

1) При использовании маршрутов с параметрами.Из документов Vue Router

При использовании маршрутов с параметрами следует обратить внимание на то, что при переходе пользователя от /user/foo к /user/bar тот же экземпляр компонента будетповторно.Поскольку оба маршрута отображают один и тот же компонент, это более эффективно, чем уничтожение старого экземпляра и создание нового.Однако это также означает, что перехватчики жизненного цикла компонента не будут вызываться.

2) Когда вы заключаете свой компонент router-view в элемент keep-alive - это, по сути, динамический компонент .

Как правило, Vue выполняет очень хорошую работу по уборке и очистке после экземпляра компонента, когда он уничтожается.Но иногда вам придется выполнить ручную очистку 1022 *, особенно если вы используете какую-то внешнюю библиотеку.Обычно это обрабатывается в beforeDestroy ловушке жизненного цикла экземпляра .

0 голосов
/ 12 октября 2018

Любой сценарий, написанный для соответствующего компонента, запускается, только если компонент отображается на странице.Как только вы перейдете к компоненту, заменяющему предыдущий компонент, предыдущий скрипт не запустится.

...