$ f7router показывает правильный «currentRoute», но $ f7router.currentRoute показывает предыдущий маршрут - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю над приложением просмотра вкладок с VueJS и Framework7. У меня есть f7-links, что каждый открывает f7-view element (поэтому не фактические элементы вкладки). Внутри одной из этих вкладок я бы хотел использовать вложенную навигацию, используя f7-link-item с параметром link. Я использую тот же компонент для отображения этой страницы, но мне нужно передать данные каждой ссылке, чтобы определить, какая ссылка была нажата (и узнать, какой контент отображать).

Я пытаюсь получить эти данные с помощью

created() {
  console.log(this.$f7router.currentRoute);
}

Но странно то, что здесь показан предыдущий маршрут (компонент, по которому была нажата ссылка, а не текущий компонент). Если я просто сделаю

created() {
  console.log(this.$f7router);
}

ТОГДА currentRoute показывает правильный.

Для справки, мои обычные ссылки на вкладки выглядят так:

<f7-toolbar tabbar labels bottom id="toolbar">
  <f7-link tab-link="#view-menu" tab-link-active text="Menu"></f7-link>
</f7-toolbar>
<f7-view id="view-menu" main tab tab-active url="/menu/"></f7-view>

А мои вложенные маршрутные ссылки выглядят так:

<f7-list-item link="/product/0" class="product-link">
  Coffee
</f7-list-item>

Маршрутизация сама по себе прекрасно работает, я просто не понимаю, как передать нужную мне опору и почему не работает параметр currentRoute.

Большое спасибо!

1 Ответ

1 голос
/ 03 апреля 2019

Попробуйте использовать this.$f7route вместо this.$f7router.currentRoute.

$ route или $ f7route (объект)

Currentмаршрут.Содержит объект с запросом маршрута, хешем, параметрами, путем и URL

https://framework7.io/docs/router-component.html#component-context

...