在uni-app中,使用腾讯视频组件,如何动态绑定vid

代码如下图,在uni-app 中,使用腾讯视频组件,想要使用v-if 在接口返回vid后再进行腾讯视频组件的渲染,但是现在接口返回后无法使用v-if进行切换,一直停留在请求前的状态,这个问题该如何解决呢

这个问题我自己解决了,解决办法是在进入页面的时候使用option携带vid并直接赋值就可以正常显示

参考GPT和自己的思路:

你好!针对你的问题,我建议你可以尝试使用 v-show 替代 v-if 进行切换。因为 v-if 会在切换时销毁组件,再重新创建,可能会造成加载时间较长的问题。而 v-show 则是通过 CSS 控制元素的显示和隐藏,不会重新渲染组件,加载速度会更快。具体操作可以参考下面的代码示例:

<template>
  <view>
    <!-- 这里使用 v-show 进行切换 -->
    <txv-video v-if="showVideo" vid="{{ vid }}"></txv-video>
    <div v-else>暂无视频</div>
  </view>
</template>

<script>
export default {
  data() {
    return {
      showVideo: false,
      vid: ''
    };
  },
  methods: {
    async loadVideo() {
      // 发送请求获取 vid
      const res = await fetch(url);
      const data = await res.json();
      this.vid = data.vid;
      this.showVideo = true; // 这里切换为显示视频
    }
  },
  mounted() {
    this.loadVideo();
  }
};
</script>

另外,关于你出现的无法切换的问题,我建议你可以在控制台中查看错误日志,看看是否有相关的报错信息,以便更好地定位和解决问题。