[Vue][Vue-Router] Использование реквизита в нескольких компонентах

Я играю с vue, vue-router и props, но теперь я не совсем уверен, правильно ли я поступаю.

У меня есть компонент входа, подобный этому, компонент входа должен ссылаться на что-то вроде entryDetails/:id :

запись.vue

<template>
  <router-link :to="{name:'entryDetails', params:{id: this.id}}">
    <h3>{{ title }}</h3>
    <span>{{ subtitle }}<span>
  </router-link>
</template>

<script>
export default {
  props: {
    id: Number,
    title: String,
    subtitle: String,
    hours: Number
  }
};
</script>

И компонент со списком записей:

entryList.vue

<template>
  <div class="wrapper">
    <entry :id="1" title="This is a title" subtitle="And a subtitle" :hours="3" />
    <entry :id="2" title="Another title" subtitle="Another subtitle" :hours="8" />
    <entry :id="3" title="Last title" subtitle="Last subtitle" :hours="1" />
  </div>
</template>

<script>
  import entry from "../entry.vue";

  export default {
    components: {
      entry: entry
  };
</script>

И теперь, когда я нажимаю на запись, я хочу перейти к entryDetails/:id, чтобы показать всю информацию в реквизитах. Что-то вроде этого:

записьDetails.vue

<template>
  // Show data from props where id is :id from url
  <div class="wrapper">
    <h1>{{ title }}</h1>
    <span>{{ subtitle }}</span>
    <span>Hours: {{ hours }}</span>
  </div>
</template>

<script>
// ??
</script>

Так ли это должно быть сделано? Если да, то как мне получить данные из моих реквизитов в entryDetails.vue после нажатия на запись?

Редактировать: был ответ (удален), что это легко с vuex, иначе это нужно сделать с параметрами. Vuex - это вариант для меня ... но я предпочитаю не использовать его сейчас.


person Awesom-o    schedule 23.03.2020    source источник
comment
@Dan Слышал об этом, если это действительно единственный способ сделать это без использования параметров, я думаю, мне придется изучить это подробнее. Я помню, что читал только для использования, если вам нужно получить доступ к определенным данным в (множестве) разных мест, и я подумал, что это может не подпадать под эту категорию.   -  person Awesom-o    schedule 23.03.2020
comment
Без Vuex я могу придумать два варианта. Вы можете либо передать параметр объекта в entryDetails (страница не будет работать при обновлении) или разрешить App.vue управлять состоянием и передавать реквизиты всем маршрутам через router-view. Оба, вероятно, могут считаться анти-паттернами.   -  person Dan    schedule 23.03.2020