Передача данных из массива объектов по ID Vuejs - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть 2 .vue страницы (Список, Детали), теперь в Списке, я перечисляю Массив объектов, подобных этому, я получаю их из API

[{...},{...},{...}]

и я отображаю его в списке, используя v-for

, и у меня есть кнопка Details в каждом их списке

, когда я нажимаю на Details, я направляю идентификатор объекта на страницу Details.

Я могу напечатать идентификатор в консоли, и я могу напечатать его в .vue, используя: $this.route.params.ID;

, но я не могу получить другие данные, где ID = $this.route.params.ID;

Я пытался в течение 3 дней ...

 <div
  class="col-lg-12 col-md-12 col-xs-12 pa-4 ma-4"
  v-for="(cmpd, index) in Compounds"
  :key="cmpd.id"
>
  <v-card
    class="mx-auto"
    :flat="flat"
    :loading="loading"
    :outlined="outlined"
    :elevation="elevation"
    :raised="raised"
  >
    <v-img
      v-if="media"
      class="white--text"
      height="250px"
              >
      <v-card-title class="align-end fill-height">
        {{cmpd.name}} ({{cmpd.city}})
        <router-link :to="{ name: 'CompoundDetails', params: { CompoundID: 
   cmpd.id }}">
          <v-btn text>Details</v-btn>
        </router-link>
      </v-card-title>
    </v-img>
    <v-card-title v-else>{{cmpd.name}}</v-card-title>
    </div>

1 Ответ

0 голосов
/ 11 ноября 2019

Я вижу, вы передаете идентификатор с CompoundID: cmpd.id. Но вы хотите, чтобы все объекты и информация, верно? Так почему бы не передать весь объект? params: { Compound: cmpd }. Тогда у вас будет весь объект.

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

...