v-если внутри v-for в vue.js - PullRequest
       7

v-если внутри v-for в vue.js

0 голосов
/ 05 декабря 2018

Я использую пакет Vue-google-maps для отображения карты Google на моем сайте с указанием местоположений на ней.

Чтобы отобразить местоположения с маркерами, я делаю это следующим образом:

<GmapMarker v-for="hotel in hotels" :key="hotel.id"
  :position="hotel._geoloc"
  :clickable="true"
  :draggable="false"
  @click="center=hotel._geoloc"
  @mouseover="show = true"
  @mouseleave="show = false" 
>
   <gmap-info-window v-if="show">
       <hotel-card :hotel="hotel" :session="session"/>
  </gmap-info-window>
</GmapMarker>

Но по какой-то причине (я новичок в vue), он показывает каждое информационное окно и игнорирует оператор v-if.Как я могу исправить эту проблему?каким образом я должен сделать это?Спасибо за помощь!

1 Ответ

0 голосов
/ 05 декабря 2018

просто так.

hotels = []
axios.get("hotels").then( (data) => {
  hotels = data
})

просто проигнорировал этот axios.get просто пример того, что данные пришли из бэкэнда.так что, как вы можете видеть, отели поступили по запросу справа или из бэкэнда, так что для того, чтобы выставить выставочный объект на первое место, нужно знать, в каком отеле мне показывать или скрывать.

hotels = []
axios.get("hotels").then( (data) => {
  if (data.slot === 0 )
    data.show = true
  else data.show = false

  hotels = data
})

просто так,я просто проверяю, равен ли слот нулю, поэтому я не покажу этот отель.только для примера.что-то в этом роде

...