Изменился маршрут, но на странице отображается информация о предыдущем маршруте - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть заголовок с несколькими ссылками на разные страницы, и когда я нажимаю на ссылку, содержимое в теле изменяется, как и ожидалось, но когда я нажимаю на ссылку в заголовке diff.Я вижу, что URL-адрес маршрута изменился правильно, но содержание тела показывает предыдущую ссылку.Как только я нажимаю «Обновить», я вижу правильное содержание тела, которое ожидаю.Я не уверен, связана ли проблема с привязкой HTML или с тем, как я загружаю свой компонент VUE, который отображает содержимое тела.

так что идея в том, что у меня есть ссылки на заголовки, которые отображаются на всех страницах: классы, учителя, студенты.когда я нажимаю на Учителя, я получаю список учителей, которые появляются в теле.Когда я нажимаю на «Студенты», я вижу изменение URL-адреса для студентов, но я все еще вижу контент Учителей.Как только я нажимаю «Обновить», я вижу содержание студентов.

Заголовок:

ul
 li(v-for='link in links')
  router-link(:to='{name: "LinkPage", params...}'){{link.name}}

На моей странице просмотра у меня есть:

h1 {{link.name}}

В моем сценарии:

  beforeMount(){
  //api to make call to get the details for the selected link and set it to link property which i used to load html. 
}

1 Ответ

0 голосов
/ 12 февраля 2019

Я чувствую небольшую нехватку более подробной информации о вашей реализации.

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

Если мое подозрение верно, я рекомендую вам рассмотреть возможность использования выделенных компонентов маршрута (по одному на маршрут).Вы можете назвать их, например, PageHome, PageFoo, PageBar.Кроме того, есть опция вложенных маршрутов .

. Эти шаблоны делают структуру приложения и навигационное поведение намного более понятными.

...