Javascript 通过函数向VueJS中的模式发送数据

Javascript 通过函数向VueJS中的模式发送数据,javascript,vue.js,Javascript,Vue.js,是否有人知道如何将数据传递给modal 我试图将数据传递给一个模态,在v-for中有一个函数,用于收集视频的url,以便稍后打开它 模式不适用于v-for,因为当有多个视频(例如一个季节的视频)时,它会播放同一个视频 <div class="item_XBG3T" v-for="(item, index) in data.season[show_season]" :key="index"> <div class=&

是否有人知道如何将数据传递给modal

我试图将数据传递给一个模态,在v-for中有一个函数,用于收集视频的url,以便稍后打开它

模式不适用于v-for,因为当有多个视频(例如一个季节的视频)时,它会播放同一个视频

<div class="item_XBG3T" v-for="(item, index) in data.season[show_season]" :key="index">
  <div class="image_33keh lazyloaded" @click.sync="openWatch">
    <img :src="'/_assets/img/covers/episodes/' + item.backdrop" class="lazyload" :alt="item.name">
    <div class="duration_Ob58r">{{ runtime(item.duration) }}</div>
    <div class="play_2ONZn"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 55 55"><circle cx="27.5" cy="27.5" r="26.75" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></circle><path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20.97 40.81L40.64 27.5 20.97 14.19v26.62z"></path></svg></div>
  </div>
  <h2 class="name_hMDmw" v-if="item.episode_number >= 10"><strong>E{{ item.episode_number }}</strong> {{ item.name }}</h2>
  <h2 class="name_hMDmw" v-else><strong>E0{{ item.episode_number }}</strong> {{ item.name }}</h2>
  <div class="overview_1HUXl">{{ item.overview | truncate(125, '...') }}</div>
  <app-play-episode v-if="watchVisible" :video="item.video" :name="item.name" type="iframe" @close="closeWatch"></app-play-episode>
</div>
这是获取剧集数据的途径:

computed: mapState({
  data: state => state.series.show,
  loading: state => state.series.loading
}),

beforeDestroy() {
  this.$store.commit('CLEAR_SERIES_SHOW_DATA');
},

mounted() {
  this.$store.dispatch("GET_SERIES_DETAILS", this.$route.params.id);
},
这个想法是,它不会在我想看的所有视频中显示相同的url


如果有人知道如何实现这一点,我将非常感激。

在将要在
v-for
中单击的div中,放置以下内容:

@click="openModal(item.video, item.name)"
在OpenModal方法中,我们调用我们希望稍后给出值的数据

<app-play-episode v-if="watchVisible" :video="videoplay" :name="videoname" type="iframe" @close="closeWatch"></app-play-episode>
方法中
执行以下操作:

data() {
  return {
    videoplay: null,
    videoname: null,
    watchVisible: false,
  };
},
openWatch(video, name) {
   this.videoplay = video;
   this.videoname = name;
   this.watchVisible = true;
},

给他们一个值。

你能提供一个代码笔或数据吗?没有你循环的数据很难帮上忙。我已经更改了。如果每个项目在
item.video
中存储了不同的URL,那么它们都会不同,或者我误解了?一点也不。应该是这样的。它向我展示了所有的剧集,每一集都有他们的视频,但当我给他们打电话时,它只向我展示了第一集的第一个视频。当我切换到只有一个视频的第二季时,它会显示相应的视频。错误是当有不止一集的时候。我认为错误是因为模态在v-for里面,如果我把它放在它外面的话。我该如何称呼我点击的这一集的视频?人们在这个平台上花时间帮助他人,他们不欠你任何东西,请记住这一点,然后再以你最初的方式回应。
openWatch(video, name) {
   this.videoplay = video;
   this.videoname = name;
   this.watchVisible = true;
},