在vue.js中拉伸嵌入式vimeo失败

问题描述 投票:2回答:1

我在vue.js中使用vue-vimeo-player来嵌入vimeo视频。我想在屏幕的整个宽度上拉伸视频并使其响应但我不能让它伸展。

这是vue中的一个简单组件,用于说明问题。我当然可以更改播放器高度和播放器宽度道具来改变大小,但我不能100%和响应。我认为我的CSS中的vimeo类应该解决这个问题,但没有运气。

任何提示都将非常感谢!

<template>
  <vimeo-player
    class="vimeo"
    ref="player"
    :video-id="videoID"
    @ready="onReady"
    :autoplay="true"
    :player-height="320"
    :player-width="640"
    loop="1"
  ></vimeo-player>
</template>

<script>
export default {
  data() {
    return {
      videoID: "224712377",
      options: {},
      playerReady: false
    };
  },
  methods: {
    onReady() {
      this.playerReady = true;
    },
    play() {
      this.$refs.player.play();
    },
    stop() {
      this.$refs.player.stop();
    }
  }
};
</script> 

<style lang="scss">
.vimeo {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  // max-height: 200px;
  position: absolute;
}
</style> 

vue.js vimeo
1个回答
1
投票

vue组件只是vimeo播放器的包装器。

经过进一步调查, vue-vimeo-player需要vimeo球员npm包。 vue-vimeo-player

@Vimeo/player有一个responsive选项,默认设置为false。 github/vimeo/player

你可以通过vue-vimeo-player道具通过options

这样的

<template>
    <vimeo-player
        class="vimeo"
        ref="player"
        :options="{ responsive: true }"
        :video-id="videoID"
        @ready="onReady"
        :autoplay="true"
        :player-height="320"
        :player-width="640"
        loop="1"
      ></vimeo-player>
</template>

<style lang="scss">
.vimeo {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  // max-height: 200px;
  position: absolute;
}
</style> 

note:

您可能仍需要处理CSS宽度/样式

© www.soinside.com 2019 - 2024. All rights reserved.